是的,我一直在模糊地尝试使用this questions example来测试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链接到最新版本。
答案 0 :(得分:1)
您需要将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: ...]