JSON: Difference between revisions

986 bytes added ,  10 years ago
Line 1,077:
However, there is an ambiguity with parsing JavaScript object literals by themselves, where it might be mistakenly interpreted as a block, and the key followed by a colon as a label. To avoid this, remember to surround it in parentheses to force it to be interpreted as an expression:
<lang javascript>var data = eval('(' + '{ "foo": 1, "bar": [10, "apples"] }' + ')');</lang>
 
=={{header|Lasso}}==
<lang Lasso>// Javascript objects are represented by maps in Lasso
local(mymap = map(
'success' = true,
'numeric' = 11,
'string' = 'Eleven'
))
 
json_serialize(#mymap) // {"numeric": 11,"string": "Eleven","success": true}
'<br />'
 
// Javascript arrays are represented by arrays
local(opendays = array(
'Monday',
'Tuesday'
))
 
local(closeddays = array(
'Wednesday',
'Thursday',
'Friday'
))
 
json_serialize(#opendays) // ["Monday", "Tuesday"]
'<br />'
json_serialize(#closeddays) // ["Wednesday", "Thursday", "Friday"]
'<br />'
 
#mymap -> insert('Open' = #opendays)
#mymap -> insert('Closed' = #closeddays)
 
local(myjson = json_serialize(#mymap))
#myjson // {"Closed": ["Wednesday", "Thursday", "Friday"],"numeric": 11,"Open": ["Monday", "Tuesday"],"string": "Eleven","success": true}
'<br />'
 
json_deserialize(#myjson) // map(Closed = array(Wednesday, Thursday, Friday), numeric = 11, Open = array(Monday, Tuesday), string = Eleven, success = true)</lang>
 
=={{header|LFE}}==
Anonymous user