Javascript 遍历Json数据
我有一个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
[
{
"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,列
,字段
和值字段
,你必须做多个循环。