JSON: Difference between revisions

Content added Content deleted
(Added LFE examples)
Line 1,016: Line 1,016:
<lang javascript>var data = eval('(' + '{ "foo": 1, "bar": [10, "apples"] }' + ')');</lang>
<lang javascript>var data = eval('(' + '{ "foo": 1, "bar": [10, "apples"] }' + ')');</lang>


=={{header|LFE}}==

This example uses the third-party library "Jiffy".

===Encoding===
<lang lisp>
(: jiffy encode (list 1 2 3 '"apple" 'true 3.14))
</lang>

The result from that can be made a little more legible with the following:
<lang lisp>
(: erlang binary_to_list
(: jiffy encode (list 1 2 3 '"apple" 'true 3.14)))
</lang>

===Decoding===
We can run the encoding example in reverse, and get back what we put in above with the following:
<lang lisp>
(: jiffy decode '"[1,2,3,[97,112,112,108,101],true,3.14]")
</lang>

Here's a key-value example:
<lang lisp>
(: jiffy decode '"{\"foo\": [1, 2, 3]}")
</lang>

===Decoding to Patterns===
We can also extract the key and value using Erlang patterns:
<lang lisp>
(let (((tuple (list (tuple key value)))
(: jiffy decode '"{\"foo\": [1, 2, 3]}")))
(: io format '"~p: ~p~n" (list key value)))
</lang>


=={{header|Mathematica}}==
=={{header|Mathematica}}==