json

JSON support for Koto.

from_string

|String| -> Any

Deserializes a string containing JSON data, returning a structured Koto value.

Example

data = r'
{
  "string": "O_o",
  "nested": {
    "number": -1.2
  },
  "entries": [
    {
      "foo": "bar"
    },
    {
      "foo": "baz"
    }
  ]
}'

result = json.from_string data
result.string
# -> O_o
result.nested.number
# -> -1.2
result.entries[0].foo
# -> bar
result.entries[1].foo
# -> baz

to_string

|Any| -> String

Returns a string containing the input value serialized as JSON data.

Example

data = 
  string: '>_>'
  nested:
    number: 99
  entries: (
    {foo: 'bar'},
    {foo: 'baz'},
  )

json.to_string data
# -> {
# ->   "string": ">_>",
# ->   "nested": {
# ->     "number": 99
# ->   },
# ->   "entries": [
# ->     {
# ->       "foo": "bar"
# ->     },
# ->     {
# ->       "foo": "baz"
# ->     }
# ->   ]
# -> }