JavaScript深度字符串化
当“刺痛”一个复杂的JSON对象时,我很难得到正确的结果。 例如: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",
{
"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倍