如何将原型数组转换为 json 字符串
Posted
技术标签:
【中文标题】如何将原型数组转换为 json 字符串【英文标题】:how to convert prototype array to a json string 【发布时间】:2019-06-22 23:35:09 【问题描述】:我有我的 js 对象/数组
[Containerbox-1: Array(2)
0: "textbox-3"
1: "rediobox-4"
length: 2
__proto__: Array(0)
length: 0
__proto__: Array(0)]
谁将其转换为字符串 我使用了 JSON.stringify();但我只得到[]
我不确定这里有什么问题。
我已经在我的 component.ts 中像这样定义了我的变量 public formFieldParent = [];
。进一步我动态地推入其中的元素
if (isNullOrUndefined(this.formFieldParent[targetId]))
this.formFieldParent[targetId] = []; <--- Adding key here
this.formFieldParent[targetId].push(idNm); <-- adding values here for key
当我控制它时,输出如上所示,并使用JSON.stringify(this.formFieldParent);
返回[]
我应该用什么来获取它的字符串。 这是控制台的屏幕截图
【问题讨论】:
你很接近。 Containerbox-1 看起来像是对象上的一个属性,因此您可能想要执行以下操作:JSON.stringify(this.formFieldParent['Containerbox-1']);
键被动态添加到变量中,整个数组对父子关系很重要
【参考方案1】:
我已经定义了我的变量
public formFieldParent = [];
这就是问题所在。您应该在这里使用了一个对象,因为您将文本属性(如Containerbox-1
)分配给它。数组保持为空(length
是 0
),这就是 JSON 中将显示的内容。 Don't abuse arrays as objects!
【讨论】:
我可以指定一个“0”(零)作为键吗? 是的,如果你有实际的整数索引元素,那么你可以(并且应该)使用数组。以上是关于如何将原型数组转换为 json 字符串的主要内容,如果未能解决你的问题,请参考以下文章