繁体   English   中英

迭代嵌套的JSON数组

[英]Iterate a nested JSON array

我的JSON如下:

{
   "ok":false,
   "status":400,
   "statusText":"Bad Request",
   "body":{
      "message":"An error occurred while trying to update the record. Please try again.",
      "statusCode":400,
      "enhancedErrorType":"RecordError",
      "output":{
         "errors":[

         ],
         "fieldErrors":{
            "Product_L2__c":[
               {
                  "constituentField":null,
                  "duplicateRecordError":null,
                  "errorCode":"FIELD_CUSTOM_VALIDATION_EXCEPTION",
                  "field":"Product_L2__c",
                  "fieldLabel":"Product L2",
                  "message":"Product L2 is required"
               }
            ]
         }
      }
   }
}

我想从此JSON获取errorCode(FIELD_CUSTOM_VALIDATION_EXCEPTION)message("Product L2 is required")

解析Json字符串的方法有很多,但是这里有一个纯js函数可以为您做到这一点:

JSON.parse(JsonString)

您可以像这样访问

var jsondata = {
  "ok": false,
  "status": 400,
  "statusText": "Bad Request",
  "body": {
    "message": "An error occurred while trying to update the record. Please try again.",
    "statusCode": 400,
    "enhancedErrorType": "RecordError",
  "output": {
    "errors": [],
    "fieldErrors": {
      "Product_L2__c": [{
        "constituentField": null,
        "duplicateRecordError": null,
        "errorCode": "FIELD_CUSTOM_VALIDATION_EXCEPTION",
        "field": "Product_L2__c",
        "fieldLabel": "Product L2",
        "message": "Product L2 is required"
      }]
    }
   }
  }
 }

var innerKey = Object.keys(jsondata.body.output.fieldErrors)[0];
jsondata.body.output.fieldErrors[innerKey].forEach(
function(record){
   console.log(record.errorCode+" "+record.message)
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM