如何在这个Jsfiddle中使用JQuery访问我的JSON对象的属性?

是的,我一直在模糊地试图用这个问题的例子用jsfiddle测试一些东西。 我正在寻找构建一个JQuery可排序的小部件,但首先我需要找出如何访问我正在创建的对象中的属性 – 在经过大量混乱后立即绘制了一些空白!

活小提琴!

$('#ParentCategoryId').change(function() { var data = { "categories": { "category1": { "Name": "Maps", "Id": 3, "orderInList": 1 }, "category2": { "Name": "Books", "Id": 2, "orderInList": 2 } } }; $.ajax({ url: 'http://jsfiddle.net/echo/jsonp/', dataType: 'jsonp', data: data, success: function(data) { show_response(data); }, type: 'GET' }); }); function show_response(data) { $.each(data, function() { alert(/**How could I access say, category1's Name property in here?**/); }; 

编辑1

没有得到完整的Jsfiddle链接抱歉,保存并编辑它。

编辑2

使用JsonLint创建有效的Json。 现在我可以获得执行警报,但我不确定如何访问其中的属性!

编辑3

更新了Jsfiddle链接到最新版本。

您需要将JSON字符串解析为对象:

 function show_response(data) { data = $.parseJSON(data); $.each(data, function(position, value) { alert(value.name); }; 

编辑:您的小提琴有语法错误。 由于jQuery中没有toJSON方法,因此不会创建JSON。 为了使用每个迭代器读取您的类别,它们需要是一个数组,如:

 categories = [name: "Book", value: ...], [name: "Movie", value: ...]