JavaScript深度字符串化

JavaScript深度字符串化,javascript,jquery,json,stringify,Javascript,Jquery,Json,Stringify,当“刺痛”一个复杂的JSON对象时,我很难得到正确的结果。 例如: { "a": "a", "b": [ [ { "c": "c", "d": "d", "e": "e" }, { "c": "c", "d": "d", "e": "e" }, { "c": "c", "d": "d",

当“刺痛”一个复杂的JSON对象时,我很难得到正确的结果。 例如:

{
  "a": "a",
  "b": [
    [
      {
        "c": "c",
        "d": "d",
        "e": "e"
      },
      {
        "c": "c",
        "d": "d",
        "e": "e"
      },
      {
        "c": "c",
        "d": "d",
        "e": "e"
      }
    ],
    [{
        "c": "c",
        "d": "d",
        "e": "e"
      }],
    [
      {
        "c": "c",
        "d": "d",
        "e": "e"
      },
      {
        "c": "c",
        "d": "d",
        "e": "e"
      }
    ]
  ],
  "f": [
    {
      "g": "g",
      "h": "h"
    },
    {
      "g": "g",
      "h": "h"
    },
    {"g": "g"}
  ]
}
在上面的例子中,
a
甚至
f
stringify很棒,但我“丢失”了
b
值的内容(stringify为空数组),根据我所读到的,如果JSON中有超过一个级别的深度,则需要进行深度字符串化,但我似乎无法以正确的方式查看
b
键的内容

有人知道怎么做吗

p、 这些节点甚至可以有3层或3层以上的深度,而不仅仅是一层或两层

多谢各位


更新:我发现了这个问题,我使用$.tmpl,出于某种原因,在某些情况下,我得到的是类似于关联数组的东西,而不是对象数组(我知道JS中没有关联数组,但这就是我得到的,大小为0的数组,其中包含键值对,而不是对象)的值“b”在第二层。Stringify正在做我期望它现在做的事情。谢谢

请看:答案中有一个图表,显示允许哪些值。“未定义”不是其中之一。正如评论中所述,使用stringify时,
未定义的
值将被忽略。

我不知道您在哪里读到的<代码>JSON.stringify应处理所有级别。你能告诉我你得到了什么,并指出你在哪里失去了什么吗?在这个作业之前,a、c、d、e、g和h的值是多少?对我来说很好:谢谢,你让我再次检查了代码和结果,我发现了问题(在更新中写到了这个问题),现在我只需要找到它发生的原因。10倍