无法访问来自不同形式的JSON对象的值

时间:2015-06-20 17:47:31

标签: jquery json

我有以下JSON文本格式

[
{"fields": {"Num": 34, "Univ": "TUni"}, "pk": 1, "model": "app.unbased"}, 
{"fields": {"Num": 10, "Univ": "VTU"}, "pk": 1, "model": "app.unbased"}
]

我尝试使用Jquery访问第一个项目的Num的字段值,但是无法获得它。 我已经解决了与JSON相关的其他问题但没有用,因为这种形式很不寻常。

我在下面的成功函数

中尝试过
success: function (json) {
            $('#PieStats').html(json.message);
            var data_json = $.parseJSON(json.message);
            alert(typeof(json.message)); // Output : string
            alert(data_json[0][0]); // Output : Undefined
            alert(typeof (json) + ' ' + typeof (data_json));  // Output : object object
            $('.ajaxProgress').hide();
        }

我也尝试过使用data_json [' fields'] [0] [0]以及其他可能的方法 - 不工作

我错过了什么?

2 个答案:

答案 0 :(得分:0)

data_json [0] .fields.Num正是您要找的。数组中的每个元素都是一个对象,这就是为data_json [0] [0]

提供未定义的原因

答案 1 :(得分:0)

检查一下:

var jsonString = '[\
{"fields": {"Num": 34, "Univ": "TUni"}, "pk": 1, "model": "app.unbased"}, \
{"fields": {"Num": 10, "Univ": "VTU"}, "pk": 1, "model": "app.unbased"}\
]';
var dataObject = JSON.parse(jsonString);
console.log(dataObject[0].fields.Num);