javascript - 从嵌套响应中获取 json 值

标签 javascript jquery json

我有以下 json 返回。我希望获得汽车、汽车制造商和汽车价格的所有值(value)。如何做呢?我已经尝试过但不起作用

$.each(jqXHR.responseJSON.ModelState(index, value), function() {
  alert(jqXHR.responseJSON.ModelState[index].value);
});

enter image description here

{
    "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."
        ]
    }
}

最佳答案

您将得到如下 3 个值:

alert(json.ModelState["car"]);
alert(json.ModelState["car.Make"]);
alert(json.ModelState["car.Price"]);

这也适用于汽车

alert(json.ModelState.car);

由于其他属性包含“.”然后它会在属性 car 上查找属性 Make,而不是名为 car.Make 的属性,因此我们需要使用字符串键。

请注意,在此 fiddle 中,最后两个未定义。最好不要使用“.”属性名称(如果要在 json 中使用)。

https://jsfiddle.net/1zgybf9m/

打印 modelState 中的所有数据和所有汽车,假设您可以拥有不止一辆。 IT 会更像这样:

https://jsfiddle.net/1zgybf9m/1/

var json = {
    "Message": "The request is invalid.",
    "ModelState": { 
        "car": [
            "1 Required property 'Make' not found in JSON. Path '', line 1, position 57.",
            "2 Required property 'Make' not found in JSON. Path '', line 1, position 57."
        ],
        "car.Make" : [
            "1 The Make field is required.",
            "2 The Make field is required."
        ], 
        "car.Price": [
            "1 The field Price must be between 0 and 200000.",
            "2 The field Price must be between 0 and 200000."
        ]
    }
}

for(var prop in json.ModelState){
    console.log(prop);
    for(var value in json.ModelState[prop]){
       console.log(json.ModelState[prop][value]);
    }
}

关于javascript - 从嵌套响应中获取 json 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411787/

相关文章:

java - Jackson XML 到 JSON 格式列表不正确

ios - 使用 Codable 与 Swift 归档

javascript - 无法使用react@16.4.2组件和webpack加载静态图像

jquery - 在所有标签上应用占位符?

javascript - 获取所有以类名开头的项目

javascript - jQuery UI 选项卡 : Targeting Dynamic Tab from a Link

jQuery 选择器帮助 - 或、和

php - 如何在一个数组PHP中设置子json数组

javascript - AngularJS:$scope 与此:$scope 的用途是什么?

javascript - 对象 Javascript 的数组访问