我正在尝试从 json 获取数据,但在搜索数据时却没有,它会抛出错误。
未捕获的类型错误:无法读取未定义的属性“天”
$.ajax({
url: url,
//dataType: 'json',
type: 'POST',
jsonpCallback: "myJSON",
success: function (json) {
alert(json);
var subjson = json.substring(7, json.length-1);
alert(subjson);
var jsonValido = JSON.stringify(eval("(" + subjson + ")"));
var jsonFinal = JSON.parse(JSONize(jsonValido));
alert(jsonFinal);
//$("#resultado").html(json);
alert("obtencion de datos: Dia" + jsonFinal[0]['dia'] + " A: " + jsonFinal[0]['A']);
$("#resultado").html(jsonFinal[0]);
}
我已经查看了如何获取数据,我发现这是方法jsonFinal[0]['dia']
,但我无法访问它们。
我查询数据的json具有这种格式
{'dia':'01-08-2016','A':'3','B':'5','C':'33','D':'34','E':'3'},{'dia':'02-08-2016','A':'3','B':'3','C':'38','D':'30','E':'3'}
你放的格式不对
为了使它成为一个对象数组,它必须用方括号括起来。
JSON 中的对象用花括号{ }括起来,花括号 内是对象的属性,它们各自的值(用引号括起来)用:(冒号)分隔
多个属性用逗号分隔
为了能够对多个对象进行分组,必须将它们放在括号之间(如数组)并用逗号分隔每个对象
一个很好的简短教程在这里
jsonFinal[0]['dia']
当你有一个对象数组时使用。根据您在评论中提供的信息,您只有一个对象,而不是数组,因此访问该属性的方式应该是:
任何一个
如果你有这样的数组:
您可以通过这种方式访问您想要的元素
如果你想访问任何其他属性,你只需要在点 var A = jsonFinal[0].A; 之后调用它。//或 .B 或任何你有的