我使用$.getJSON
生成了一个JavaScript对象(称为'jItems'
)。在页面上,我列出了jItem中的项目适合的类别列表。我的愿望是点击一个类别并触发一个功能,只显示该类别中的项目。使用getJson
或jquery的each()
或find()
从jItems
中拉出正确的项目会更好吗?什么是解析JSON字符串的最佳方法?
回答
这一切都取决于你的数据看起来的样子,但是这可能会帮助你,我想:
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 = $("<li>" + this.id + "</li>");
var items = this.items;
$("#categories").append(category);
category.click(function() {
$("#items").empty();
for (var j in items) {
var item = $("<option>" + items[j].iid + "</option>");
$("#items").append(item);
}
});
});
要查看示例:http://jsfiddle.net/tive/U63EY/
编辑: 现在我再次看了你的问题。 ..因为速度更快,所以使用for循环更好。 $ .each()无论如何都是for循环的封装。 (因此,例如:d)
JSON的美妙之处在于您无需解析它。它已经是一个JavaScript对象。你需要做的是循环访问值并为你的分类列表建立输出。
没有看到您的JSON结构我不能再提出任何建议。
你的意思是,'$ .getJSON'的美丽,对吧? (JSON是一个字符串值,它需要通过'JSON.parse()'或类似的函数来解析,以获得相应的对象值。) – 2012-07-30 18:35:26
这只有在通过AJAX获取时才需要。 JSON本身不需要这个。 – 2012-07-30 18:39:50
我认为你使用JavaScript的对象字面符号来混淆JSON。例如:'var json ='{“foo”:123}'; var obj = {foo:123};'。根据定义,JSON是一个字符串(值)。首先需要将其解析为对象值。如果你的意思不是一个字符串,那么它不是JSON。 – 2012-07-30 18:45:34
- 1. 解析字符串间隔的最佳方法是什么?
- 2. 解析这个字符串的最佳方法是什么?
- 3. 解析字符串内的这个字符串的最佳方法是什么?
- 4. 什么是解析JSON字典阵列的最佳方法
- 5. 解析字符串的最佳方式是什么?
- 6. PowerShell解析这些字符串的最佳方式是什么?
- 7. 什么是解析和替换字符串的最佳方式?
- 8. 解析多个字组合的字符串的最佳方法是什么?
- 9. 解析Json的最佳方法是什么?
- 10. 解析C中字符串的最简单方法是什么?
- 11. 从可变长度字符串解析值的最佳方法是什么?
- 12. 将JSON字符串解析为SQLite表的最快方法是什么?
- 13. 解析C#中“坏”字的字符串的最佳方式是什么?
- 14. 转:检测无效JSON字符串字符的最佳方法是什么?
- 15. 从较长的字符串中解析出字符串的最佳方法是什么?
- 16. 从Python中的字符串解析元组的最佳方式是什么?
- 17. iOS RestKit 0.2什么是解析本地Json的最佳方式
- 18. 什么是最聪明的方式来解析字符串? (IOS)
- 19. 获取字符串数组的子字符串的最佳方法是什么?
- 20. 处理格式不正确的JSON字符串的最佳方法是什么?
- 21. 删除部分字符串的最佳方法是什么? (C#)
- 22. 在C++中标记字符串的最佳方法是什么?
- 23. 编辑类似字符串的最佳方法是什么?
- 24. 搜索base64字符串的最佳方法是什么?
- 25. 替换字符串的最佳方法是什么?
- 26. 分离ldap连接字符串的最佳方法是什么?
- 27. 操纵以下字符串的最佳方法是什么?
- 28. 将csv转换为字符串的最佳方法是什么?
- 29. 什么是测试字符串的最佳方法?
- 30. 解析复杂的非标准字符串的最佳方法?
'getJson'拉动来自服务器的JSON字符串。你不需要使用它吗? – pb2q 2012-07-30 18:26:43
存储'getJSON'调用的结果,然后通过单击解析您需要的部分... – TheZ 2012-07-30 18:27:07
'.find()'仅适用于DOM元素。 – 2012-07-30 18:27:23