Javascript object to formatted string

10,025

JSON.stringify includes a formatting argument:

JSON.stringify(value[, replacer [, space]])

The space argument may be used to control spacing in the final string. If it is a number, successive levels in the stringification will each be indented by this many space characters (up to 10). If it is a string, successive levels will indented by this string (or the first ten characters of it).

Using a tab character mimics standard pretty-print appearance

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify

Is that enough formatting for what you need? E.g. try:

 JSON.stringify( object, null, 2 );

Otherwise, http://code.google.com/p/google-code-prettify/ is a standalone JSON to HTML pretty printer. Used by stackoverflow and google code, I believe.

Share:
10,025
Shlomo
Author by

Shlomo

Updated on June 29, 2022

Comments

  • Shlomo
    Shlomo almost 2 years

    How to output an object as a readable string with formatting (structured like with <pre>) ?

    No jQuery possible.

    My object looks like this using console.log.

    Object
       title: "Another sting"
       type: "tree"
       options: Object
          paging: "20"
          structuretype: "1"
       columns: Object
          ...
       description: "This is a string"
       ...
    

    What is the best to convert it to a structured string?

    My attempt:

    I tried using stringify() to get the JSON structure. I could then write my own parser, but maybe there are already any implementations?

  • Shlomo
    Shlomo over 11 years
    Thank you for the solution, I did not know about the space parameter. Indeed I can use this combined with removing unwanted characters {, } and ".