如何将原型数组转换为 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)分配给它。数组保持为空(length0),这就是 JSON 中将显示的内容。 Don't abuse arrays as objects!

【讨论】:

我可以指定一个“0”(零)作为键吗? 是的,如果你有实际的整数索引元素,那么你可以(并且应该)使用数组。

以上是关于如何将原型数组转换为 json 字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将 JSON 字符串转换为数组

如何使用 PHP 将 JSON 字符串数据转换为数组?

如何将 JSON 字符串转换为 JSON 数组列表? [复制]

如何将json字符串转换为元素数组?

如何将字符串数组转换为 JSON 对象?

如何将json转换为字符串数组