Javascript 遍历Json数据

Javascript 遍历Json数据,javascript,json,Javascript,Json,我有一个JSON对象数组: [ { "columns": [ { "fields": [ { "valueFields": [ { "type": 1, "fieldName": "prj_Name", "value": "1A BNL FB e-Powedr basic Balci Rei

我有一个JSON对象数组:

[
  {
    "columns": [
      {
        "fields": [
          {
            "valueFields": [
              {
                "type": 1,
                "fieldName": "prj_Name",
                "value": "1A BNL FB e-Powedr basic Balci Reizen",
                "valueId": "",
                "defaultValue": false,
                "baseValue": false,
                "mandatoryField": true,
                "hasError": false,
                "errorMessage": "",
                "disabled": false,
                "visible": true
              }
            ]
          }
        ]
      }
    ]
  }
]
我想在以后对数据进行迭代处理

我已经试过了:

for (var key in currentObject) {
    if (currentObject.hasOwnProperty(key)) {
        console.log(key + ': ' + currentObject[key]);
    }
}
但它在控制台中单独打印每个字母,所以我猜这不对。 你知道我做错了什么吗

[编辑]

我试图添加
var currentObject=JSON.parse(JSON)在循环的
之前

我现在打印了这个
0:[对象]


那么如何遍历对象呢?

您的JsonObject是JsonArray中的JsonArray还是JsonArray中的JsonArray

请尝试以下代码,它适用于您的情况

var x  = '[{"columns":[{"fields":[{"valueFields":[{"type":1,"fieldName":"prj_Name","value":"1A BNL FB e-Powedr basic BalciReizen","valueId":"","defaultValue":false,"baseValue":false,"mandatoryField":true,"hasError":false,"errorMessage":"","disabled":false,"visible":true}]}]}]}]';
var parsedJson = JSON.parse(x);
var valueFields = parsedJson[0].columns[0].fields[0].valueFields[0];

for (var key in valueFields) {
    if (valueFields.hasOwnProperty(key)) {
        console.log(key + ': ' + valueFields[key]);
    }
}

如果只有一个结果,我建议更改输出,以便更容易解析。当然,如果您有权修改服务器代码。

JSON.parse(currentObject)
,因为它实际上是一个字符串……这可能是我向您展示的最简单的理由。在某些情况下,我可能会得到多个列,其中有多个字段,其中有多个valuefields。因此,我想我应该添加
foreach
循环来迭代对象的每个数组。谢谢你的帮助。如果你想处理你的主json,
字段
值字段
,你必须做多个循环。