Jquery 无法从格式不正常的JSON对象访问值

Jquery 无法从格式不正常的JSON对象访问值,jquery,json,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相关的其他问题,但没有任何用处,因为这种形式是不寻常的 我尝试了下面的成功函数

我有下面的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]和其他可能的方法,但都不起作用


我缺少什么?

数据\u json[0]。fields.Num是您要查找的内容。数组中的每个元素都是一个对象,这就是为什么数据未定义的原因。\u json[0][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);

data\u json[0]。fields.Num
应该这样做。您缺少的是只有顶级结构是数组。非常感谢Wolff!当我们不确定字段名时,如何访问json?但在json文本格式中,我没有看到任何名为“message”的键。同样,您应该这样做:
var data_json=$.parseJSON(json)。然后,尝试
console.log(data\ujson)
查看获取的数据结构。@user3128771使用循环获取所有对象键。你们应该从阅读提供的dupe链接开始,答案中有一部分解释了这一点:非常感谢Sasikanth!当我们不确定字段名(在本例中为Num)时如何访问json?如果我们不确定字段(在本例中为Num和Univ),如何访问这些值?
for(vari in dataObject){if(dataObject.hasOwnProperty(i)){console.log(i,“->”,dataObject[i]);}
您的代码只给出0和1。我想看看34,TUvi,10,VTU(数值)