Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

JSONY - Relaxed JSON with a little bit of YAML

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

    JSONY - Relaxed JSON with a little bit of YAML

        use JSONY;

        my $data = JSONY->new->load($jsony_string);

    JSONY is a data language that is simlar to JSON, just more chill. All
    valid JSON is also valid JSONY (and represents the same thing when
    loaded), but JSONY lets you omit a lot of the syntax that makes JSON a
    pain to write.

    JSONY has one object method: "load". You pass it a JSONY string and it
    returns the loaded Perl data object.

    Here is some examples of JSONY followed by equivalent JSON:

    Words don't need quotes. A list of things is an array:

        foo bar baz

        [ "foo", "bar", "baz" ]

    Strings with spaces can use single or double quotes:

        'foo bar'      # <= This is (a comment indicating) a string
        # More commenting
        "baz  boom "

        [ "foo bar ", "baz  boom " ]

    Top level hashes can be ':' separated pairs or use curlies. Sub hashes
    require curlies.

        foo: { bar baz }
        num: -1.2e3

        { "foo": { "bar": "baz" }, "num": -1.2e3 }

    Top level arrays can use '- ' at the start of lines. Those arrays go the
    end of line. Lines can be continued using a trailing comma. Sub arrays
    require square brackets.

        - array of 4 scalars
        - array with [ sub
          array { of
          things }]
        - array of 7 things on,
          two lines

          [ "array", "of", 4, "scalars" ],
          [ "array", "with", [ "sub", "array" { "of": "things" } ] ],
          [ "array", "of", 7, "things", "on", "two", "lines" ]

    More soon...

    NOTE: You may want to look at the tests (especially "t/load.t") to see
    the full abilities of JSONY.


    JSONY is mst's idea, and ingy's Pegex based implementation. The language
    is just a baby, and will change a lot, or may go away entirely.

    Development people are currently working on this in "#jsony" in Please drop by. coming soon.

    Ingy döt Net (ingy) <>

    Matt S. Trout (mst) <>

    Copyright (c) 2012, 2013 Ingy döt Net

    This library is free software and may be distributed under the same
    terms as perl itself.

Something went wrong with that request. Please try again.