JSON per stringere dump variabile

Esiste una funzione rapida per convertire oggetti JSON ricevuti tramite jQuery getJSON in un dump di variabile stringa (per scopi di traccia / debug)?

Sì, JSON.stringify , può essere trovato qui , è incluso in Firefox 3.5.4 e versioni successive.

Un ispettore JSON va nella direzione opposta, convertendo le strutture di dati JavaScript in testo JSON. JSON non supporta strutture dati cicliche, quindi fai attenzione a non fornire strutture cicliche all’artificatore JSON. https://web.archive.org/web/20100611210643/http://www.json.org/js.html

 var myJSONText = JSON.stringify(myObject, replacer); 

Puoi utilizzare console.log() in Firebug o Chrome per ottenere una buona vista object qui, in questo modo:

 $.getJSON('my.json', function(data) { console.log(data); }); 

Se vuoi solo visualizzare la stringa, guarda la vista Risorse in Chrome o la vista Rete in Firebug per vedere la risposta effettiva della stringa dal server (non c’è bisogno di convertirla … l’hai ricevuta in questo modo).

Se vuoi prendere quella stringa e scomporla per una facile visualizzazione, c’è uno strumento eccellente qui: http://json.parser.online.fr/

Personalmente uso il plugin dump di jQuery per creare oggetti, è un po ‘simile alla funzione print_r () di php. Uso di base:

 var obj = { hubba: "Some string...", bubba: 12.5, dubba: ["One", "Two", "Three"] } $("#dump").append($.dump(obj)); /* will return: Object { hubba: "Some string..." bubba: 12.5 dubba: Array ( 0 => "One" 1 => "Two" 2 => "Three" ) } */ 

È molto leggibile, consiglio anche questo sito http://json.parser.online.fr/ per creare / analizzare / leggere json, perché ha dei bei colors

Ecco il codice che uso. Dovresti essere in grado di adattarlo alle tue esigenze.

 function process_test_json() { var jsonDataArr = { "Errors":[],"Success":true,"Data":{"step0":{"collectionNameStr":"dei_ideas_org_Private","url_root":"http:\/\/192.168.1.128:8500\/dei-ideas_org\/","collectionPathStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwrootchapter0-2\\verity_collections\\","writeVerityLastFileNameStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot\\chapter0-2\\VerityLastFileName.txt","doneFlag":false,"state_dbrec":{},"errorMsgStr":"","fileroot":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot"}}}; var htmlStr= "

[jsonDataArr] struct is

" + recurse( jsonDataArr ); alert( htmlStr ); $( document.createElement('div') ).attr( "class", "main_div").html( htmlStr ).appendTo('div#out'); $("div#outAsHtml").text( $("div#out").html() ); } function recurse( data ) { var htmlRetStr = "
    "; for (var key in data) { if (typeof(data[key])== 'object' && data[key] != null) { htmlRetStr += "
  • " + key + ":
      "; htmlRetStr += recurse( data[key] ); htmlRetStr += '
  • '; } else { htmlRetStr += ("
  • " + key + ': "' + data[key] + '"
  • ' ); } }; htmlRetStr += '
'; return( htmlRetStr ); }

qualcosa lungo questo?

 function dump(x, indent) { var indent = indent || ''; var s = ''; if (Array.isArray(x)) { s += '['; for (var i=0; i