JavaScript: Hvordan kan jeg generere formatert, lettlest JSON direkte fra et objekt?


Mulig duplikat:
Hvordan kan jeg forskjønne JSON programmessig?

Jeg vet hvordan jeg kan generere JSON fra et objekt ved å bruke JSON.stringify, eller i mitt tilfelle den praktiske jQuery JSON fra Google Code.

Nå fungerer dette fint, men utdataene er vanskelige å lese for mennesker. Finnes det en enkel måte, funksjon, eller hva som helst for å lage en pent formatert JSON-fil?

Dette er hva jeg mener:

JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}});

gir...

"{"a":1,"b":2,"c":{"d":1,"e":[1,2]}}"

Jeg vil gjerne ha noe som dette i stedet:

{
 "a":1,
 "b":2,
 "c":{
    "d":1,
    "e":[1,2]
 }
}

For eksempel, med nye linjer og faner lagt til. Det er mye lettere å lese for større dokumenter.

Jeg vil helst gjøre dette uten å legge til noen store biblioteker, for eksempel ikke Prototype, YUI eller lignende.

Svar #1

JSON.stringify tar flere valgfrie argumenter.

Prøv :

 JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, 4); // Indented 4 spaces
 JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, "\t"); // Indented with tab

Fra :

Hvordan kan jeg forskjønne JSON programmatisk?

Det bør fungere i moderne nettlesere, og det er inkludert i json2.js hvis du trenger en back-up for nettlesere som ikke støtter JSON-hjelpefunksjonene. For visningsformål, plasser utdataene i en <pre>-tag for å få linjeskift til å vises.

Relaterte artikler