2014-05-21 178 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更新