我使用$.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