2016-07-25 5 views
-3

Ich kann ein JSON-Objekt haben. Dieses Objekt ist nicht immer gleich. Es kann sich dynamisch ändern. Es kann Objekt von Arrays, Array von Arrays, Array von Objekten alles, was folgt http://www.json.org/ StandardWie iterieren Sie durch ganze JSON in Javascript

Ich möchte XML jedes Blattlevel JSON-Objekt zu entkommen.

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

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

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

Wie iteriere ich durch das gesamte JSON-Objekt und ändere es?


Ich versuchte JSON.stringify und JSON.parse, zu verwenden, aber ich glaube nicht, dass effizient wäre.

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

Ich möchte so etwas wie eine rekursive Schleife verwenden, die durch das ganze json laufen wird. Aber ich bin in der Lage, herauszufinden, wie man den ganzen JSon analysieren kann.

+0

@Downvoters sein, Kommentar Bitte den Grund für die downvote. Einfaches Downvoting wird nicht geschätzt. –

+0

Obwohl ich nicht der Downvoter bin, solltest du genauer sein. Kann JSON-Beispiel sein. Es gibt auch viele Post auf SO auf, wie man über JSON, so das Hinzufügen generischen Titel kann dazu führen, Missverständnisse – Rajesh

+0

Ich denke, Sie verwirren Json mit Objekt. json ist eine serialisierte Zeichenfolge eines Objekts. (Javascript Objektnotation) Vielleicht ist Ihre Frage "Wie rekursiv ich über ein Javascript-Objekt iterieren?" – CodeToad

Antwort

0

JSON.parse mit Wiederbelebung Funktion sollte genug

 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)); 
     }); 
Verwandte Themen