Javascript 从嵌套响应获取json值
我有下面的json返回。我希望得到汽车的所有价值,汽车。制造和汽车。价格。怎样才能做到呢?我试过了,但没用Javascript 从嵌套响应获取json值,javascript,jquery,json,Javascript,Jquery,Json,我有下面的json返回。我希望得到汽车的所有价值,汽车。制造和汽车。价格。怎样才能做到呢?我试过了,但没用 $.each(jqXHR.responseJSON.ModelState(索引,值),函数(){ 警报(jqXHR.responseJSON.ModelState[index].value); });具有带JSON的变量: var obj= { "Message": "The request is invalid.", "ModelState": {
$.each(jqXHR.responseJSON.ModelState(索引,值),函数(){
警报(jqXHR.responseJSON.ModelState[index].value);
});代码>具有带JSON的变量:
var obj= {
"Message": "The request is invalid.",
"ModelState": {
"car": [
"Required property 'Make' not found in JSON. Path '', line 1, position 57."
],
"car.Make" : [
"The Make field is required."
],
"car.Price": [
"The field Price must be between 0 and 200000."
]
}
};
对于通过ModelState的循环访问:
for (var prop in obj.ModelState){
for (var i=0; i<obj.ModelState[prop].length; i++){
console.log(obj.ModelState[prop][i]);
}
}
for(对象模型状态中的变量属性){
对于(var i=0;i您将得到如下3个值:
alert(json.ModelState["car"]);
alert(json.ModelState["car.Make"]);
alert(json.ModelState["car.Price"]);
这也适用于汽车
alert(json.ModelState.car);
由于其他属性的名称中包含“.”,因此它在属性car上查找属性Make,而不是名为car.Make的属性。因此,我们需要使用字符串键
请注意,在本文中,最后两个未定义。如果要在json中使用,最好不要使用“.”属性名
若要打印modelState和所有汽车中的所有数据,请假设您可以有多个数据。更像是这样:
alert(json.ModelState["car"]);
alert(json.ModelState["car.Make"]);
alert(json.ModelState["car.Price"]);
ModelState
是一个单独的对象,在car
数组中,在car.Make
和car.Price
数组中,循环ModelState.car
这可能显示了失败的(?)输出。为了帮助您解决这个问题,需要输入数据结构。访问car:myObject.ModelState.car[0]
这是您想要的答案吗?我需要循环使用它,而不是像上面所说的那样一个接一个地显式获取它。ModelState将只有一个对象,因此这将打印每个属性,但car、car.Make和car.Price是数组