Bre*_*t R 1 javascript json angularjs ionic-framework angular-schema-form
我需要一些帮助,请转换一个javascript生成的数组,我准备使用angular-schema-form(需要一个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);
}
Run Code Online (Sandbox Code Playgroud)
这是数组的console.log.
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"
Run Code Online (Sandbox Code Playgroud)
我试图使用JSON.stringify将上面的内容转换为JSON,但这会返回一个空结果.
我也尝试将数组传递给angula.toJson,但我也得到了一个空的结果.
var myJsonString = angular.toJson(objectSchema, true);
console.log(myJsonString);
// result
[
[],
[]
]
Run Code Online (Sandbox Code Playgroud)
如果您对我有任何指示,请关注它将不胜感激.
谢谢B
您正在看到此行为,因为您将fieldObject实例化为数组而不是对象.然后,您尝试向此数组添加属性,这实际上没有意义,更重要的是,实际上并没有按照您的意图填充数据结构.
当你尝试序列化时会发生什么,是数组(它仍然是空的),序列化为一个空数组,你丢失了对象属性.
尝试:
var fieldObject = {};
Run Code Online (Sandbox Code Playgroud)
这是一个演示行为的小提琴 - http://jsfiddle.net/ko8d0w5b/
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |