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

时间:2012-08-13 08:29:16

标签: javascript jquery json object jsfiddle

是的,我一直在模糊地尝试使用this questions example来测试jsfiddle。我正在寻找构建一个JQuery可排序的小部件,但首先我需要找出如何访问我正在创建的对象中的属性 - 在经过大量混乱后立即绘制一些空白!

Live Fiddle!

$('#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链接到最新版本。

1 个答案:

答案 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: ...]