JavaScript DEEP stringify

时间:2014-01-23 07:28:56

标签: javascript jquery json stringify

在“加固”复杂的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字符串很好,但我“丢失”了b的值的内容(stringify为空数组),从我的内容如果JSON中有多个级别,则需要进行深度字符串化,但我似乎无法以正确的方式查看b键的内容。

任何人都知道如何做到这一点?

P.S。节点甚至可以有3个或更多级别,而不仅仅是一个或两个。

谢谢

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

1 个答案:

答案 0 :(得分:1)

请参阅:Why doesn't JSON.stringify display object properties that are functions?答案中有一个图表,显示允许的值。 “undefined”不是其中之一。正如在那里的评论中所述,使用stringify时将省略undefined值。