2014-05-21 130 views
0

我有一个JSON字符串,它看起来像这样:更改JSON字符串结构

[ 
    { 
     "queryResult": { 
      "A": "12-04-2014", 
      "B": 1 
     } 
    }, 
    { 
     "queryResult": { 
      "A": "13-04-2014", 
      "B": 2 
     } 
    }, 
    { 
     "queryResult": { 
      "A": "14-04-2014", 
      "B": 3 
     } 
    } 
] 

,我需要解析它,它改变这个

[ 
    { 
     "A": "12-04-2014", 
     "B": 1 
    }, 
    { 
     "A": "13-04-2014", 
     "B": 2 
    }, 
    { 
     "A": "14-04-2014", 
     "B": 3 
    } 
] 

我已经有一个函数用于制造更改,这是:

function justAnExample() { 
    var jsonData = exampleJSON(); //Obtains the JSON 
    var finalJSON=JSON.stringify(jsonData[0]['queryResult']); 
    for (var i = 1; i < jsonData.length; i++) { 
     finalJSON = finalJSON+','+JSON.stringify(jsonData[i]['queryResult']); 
    } 
    return JSON.parse('[' + finalJSON + ']'); 
} 

但是,此方法使用字符串化,然后解析JSON来重新创建JSON对象,w这很有效,但有没有更好的解决方案,我可以在其中使用对象符号本身。 P.S:我知道术语“JSON对象”是一个半伪事物,只有JSON记法/格式很重要,但只需确认这是否是正确的方法。

编辑

请找JS捣鼓问题

http://jsfiddle.net/mukilr/uJV54/

+0

贵“JSON字符串”看起来就像你已经证明? – thefourtheye

+0

是的,这是确切的表示形式。 –

+0

你能用这个确切的字符串创建一个jsfiddle吗? – thefourtheye

回答

2

你可以这样做:

var json = [ 
    { 
     "queryResult": { 
      "A": "12-04-2014", 
      "B": 1 
     } 
    }, 
    { 
     "queryResult": { 
      "A": "13-04-2014", 
      "B": 2 
     } 
    }, 
    { 
     "queryResult": { 
      "A": "14-04-2014", 
      "B": 3 
     } 
    } 
]; 

var out = []; 


for (var i = 0; i < json.length; i++){ 
out[i] = json[i].queryResult; 
} 

检查这个fiddle

编辑 这是您的fiddle更新