我正在从PHP接收一些JSON(在Firefox工具中预览):
1:Object
0:Object
1:Object
2:Object
3:Object
Name: "SomeName"
我现在想要遍历对象,而不是Name键。似乎我做了$ .each它包含键/值对。我怎么能避免呢?另外,为什么我可以为第一个对象选择一个数值(我有它" 1")但是没有给它赋值?我希望它看起来像这样的例子
1:SomeNameIGaveIt
0:Object
1:Object
2:Object
3:Object
这会使我的名字k / v对过时。
JSON
{"1": {"Name":"SomeName", "0":{"data":"data"}. "1":{"data":"data"}}}
答案 0 :(得分:0)
在JavaScript中,String是Object的“子类”。幸运的是,有类型的运营商;
Chrome控制台中的
var a = "foo" //makes a String
var b = {} //makes an empty Object
typeof a
"string"
typeof b
"object"
使用此功能,您可以检查以确保在对其执行操作之前某些字符串不是字符串。
其他选项:您可以通过JavaScript for循环迭代它,而不是使用json $ .each调用进行迭代。如果您知道SomeNameIGaveIt对象中的元素数量是固定的,您可以使用固定数量的迭代然后使用数组索引运算符(SomeNameIGaveIt [index]),或使用for-in循环(for(var i in array) ){...})
如果使用for-in循环,则可以使用typeof检查索引是否为数字,如上所述。任何这些方法都会产生非常相似的结果,所以选择最适合你的方法。