2016-07-25 87 views
-3

我可以有一個json對象。這個對象每次都不一樣。它可以動態改變。它可以有陣列對象,數組數組,對象數組,任何遵循的標準http://www.json.org/標準如何遍歷javascript中的整個json

我想XML轉義每個葉級json對象。

var jsonObject = {};//is not standard will change dynamically 

var xmlescape = require('xml-escape'); 

iterate through each of the json object 
    jsonObjectAtParticularLevel = xmlescape(jsonObjectAtParticulatLevel); 

如何迭代整個json對象並更改它?


我試圖用JSON.stringifyJSON.parse,但我不認爲這將是有效的。

function replacer(key, value) { 
    if (typeof value === "string") { 
    return xmlescape(value); 
    } 
    return value; 
} 
var newJsonObject = JSON.parse(JSON.stringify(jsonObject, replacer)); 

我想使用類似遞歸循環將貫穿整個JSON迭代。但是我能夠弄清楚如何解析整個json。

+0

@Downvoters,請評論的downvote的原因。只是downvoting不讚賞。 –

+0

雖然我不是downvoter,但你應該更具體。可能是共享示例JSON。還有很多關於如何循環JSON的帖子,所以添加通用標題可能會導致誤解 – Rajesh

+0

我認爲您會將json與對象混淆。 json是一個對象的序列化字符串。 (javascript對象表示法)或許你的問題是''​​我如何遞歸迭代一個JavaScript對象?「 – CodeToad

回答

0

JSON.parse復興功能應該是足夠

 var object = {"id":"10", "class": [{"child-of-9": "AABC"}, {"9": "a"}]}; 

     $(function() { 
     object = JSON.parse(JSON.stringify(object), function (k, v) { 
      if(typeof v == "string") { 
       return v + "changed"; 
      } 
      return v; 
     }) 
      console.log(JSON.stringify(object)); 
      alert(JSON.stringify(object)); 
     });