【问题标题】:how to convert prototype array to a json string如何将原型数组转换为 json 字符串
【发布时间】:2023-03-08 04:49:01
【问题描述】:

我有我的 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']);
  • 键被动态添加到变量中,整个数组对父子关系很重要

标签: javascript json typescript angular6 jsobject


【解决方案1】:

我已经定义了我的变量public formFieldParent = [];

这就是问题所在。您应该在这里使用了一个对象,因为您将文本属性(如Containerbox-1)分配给它。数组保持为空(length0),这就是 JSON 中将显示的内容。 Don't abuse arrays as objects!

【讨论】:

  • 我可以指定一个“0”(零)作为键吗?
  • 是的,如果你有实际的整数索引元素,那么你可以(并且应该)使用数组。
猜你喜欢
  • 1970-01-01
  • 2017-07-20
  • 2015-04-05
  • 2011-11-22
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多