2016-07-25 69 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)); 
     });