解析JSON字符串的最佳方法是什么?
我使用$.getJSON
生成了一个JavaScript对象(称之为'jItems'
)。 在页面上,我有一个jItems中的项目适合的类别列表。 我希望点击一个类别并触发一个function,只显示该类别中的项目。 使用getJson
或jquery的each()
或find()
来从jItems
提取正确的项目会jItems
吗?
这完全取决于您的数据的样子,但这可能对您有所帮助:
var jsonCats = [ {"id": "category1", "items": [{"iid":"item1"}, {"iid":"item2"}, {"iid":"item3"}]}, {"id": "category2", "items": [{"iid":"item4"}, {"iid":"item5"}, {"iid":"item6"}]}, {"id": "category3", "items": [{"iid":"item7"}, {"iid":"item8"}, {"iid":"item9"}]}, {"id": "category4", "items": [{"iid":"item0"}]} ]; $.each(jsonCats, function(key, value) { var category = $("" + this.id + " "); var items = this.items; $("#categories").append(category); category.click(function() { $("#items").empty(); for (var j in items) { var item = $(""); $("#items").append(item); } }); });
看一个例子: http : //jsfiddle.net/tive/U63EY/
编辑:现在我再次阅读你的问题…实际上,使用for循环更好,因为这更快。 无论如何,$ .each()都是for循环的包装器。 (因此例子:D)
JSON的优点是你不需要解析它。 它已经是一个JavaScript对象。 您需要做的是遍历值并为您的类别列表构建输出。
如果没有看到您的JSON结构,我就无法再提出任何建议。