javascript - 如何将 javascript 数组更改为 angular-schema-form 的 JSON 对象?

标签 javascript json angularjs ionic-framework angular-schema-form

我需要一些帮助,请转换我准备由 angular-schema-form 使用的 javascript 生成的数组(需要 JSON 对象)。

我使用 for 循环创建了一个数组,其中包含我从 $http 请求中检索到的一些字段项。

但是,我能够毫无问题地创建数组,当我现在尝试为 angular-schema-form 对象准备它时,这就是我在将其转换为所需的 JSON 对象格式时遇到问题的地方。

我像这样在 javascript 中创建数组,

var objectSchema = [];

for(index = 0; index < instanceFields.length; index++)
{
    var fieldObject = [];

    fieldObject.id = instanceFields[index].id;
    fieldObject.title = instanceFields[index].description;
    fieldObject.type = pass_type;
    fieldObject.value = instanceFields[index].value.raw;

    objectSchema.push(fieldObject);

}

这是数组的控制台日志。

console.log(objectSchema);

// result

0: Array[0]
   id: "103859"
   length: 0
   title: "Summary"
   type: "string"
   value: ""
1: Array[0]
   id: "101842"
   length: 0
   title: "Job Type"
   type: "string"
   value: "696"

我尝试使用 JSON.stringify 将上述内容转换为 JSON,但这返回的是空结果。

我也尝试过将数组传递给 angula.toJson,但我得到的结果也是空的。

var myJsonString = angular.toJson(objectSchema, true);
console.log(myJsonString);

// result 

[
  [],
  []
]

如果您对我有任何指示,请遵照指示,我们将不胜感激。

谢谢 B

最佳答案

您看到此行为是因为您将 fieldObject 实例化为数组而不是对象。然后,您尝试向该数组添加属性,这实际上没有任何意义,更重要的是,实际上并没有按照您的预期填充数据结构。

当您尝试序列化时,数组(仍然是空的)序列化为一个空数组,并且您丢失了它的对象属性。

尝试:

var fieldObject = {};

这是一个演示行为的 fiddle - http://jsfiddle.net/ko8d0w5b/

关于javascript - 如何将 javascript 数组更改为 angular-schema-form 的 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548882/

相关文章:

html - 如何使用 $emit 在 angularjs 中与父 Controller 通信

javascript - 可拖动元素

javascript - php根据html切换开关显示数据库中的数据

javascript - 将 arraybuffer 的一部分绘制到 Canvas 上的最佳方法是什么?

android - JsonArray解析

node.js - AngularJS 教程无法在 Chrome Mac 中打开

javascript - Mapbox 侧面板和多边形交互

php - 自动完成不返回搜索到的值,但它返回所有值(在 PHP、jQuery 中)

jquery - fullcalendar:使用 JSON feed 设置单个事件的颜色

javascript - 即使在 POST 调用中传递它之后,Django 也会给出 'CSRF token missing or incorrect.' 错误