我需要一些帮助,请转换一个我准备由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。
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 = {};
这是演示行为的小提琴-http: //jsfiddle.net/ko8d0w5b/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句