json.set
json.set() Function
• Introduced in version 1.3b49
Sets the value in at the specified index in a JSON Array or for the specified key in a JSON Object. You can use an empty string (
""
) to represent a new JSON Array or JSON Object.Usage
json.set(jarr, [])
newarr=json.set(jarr, index, value)
newarr=json.set(jarr, index, value, ..., ...)
newobj=json.set(jobj, key, value)
newobj=json.set(jobj, key, value, ..., ...)
Parameters
jarr
- The JSON Array that has an index's value set.index
- The numeric index which has its value set.jobj
- The JSON Object that has a key's value set.key
- The named key which has its value set.value
- The content that is set to theindex
orkey
.
Note: The index
and value
parameters or key
and value
parameters can be repeated in pairs.
Note: The word "class" is a reserved word in JavaScript; it is therefore not possible to create a JSON object containing a key named "Class," "class," or any mix of upper- and lower-case. MapTool will ignore any instructions to set a JSON object key with that name.
Example
[json.set("{}", "a", 5)]
[json.set("", "a", 5, "b", 8)]
[json.set(json.fromList("1,3"), 0, 8)]
Returns
{"a":5} {"a":5, "b":8} [8, 3]
To save the new value in the JSON Array or JSON Object so that you can reference it later in a macro, you must set the array equal to the result of json.set().
[myArray = json.append("", 1, 2, 3)]
[myArray = json.set(myArray, 0, 5)]
[myArray]
Returns
[1,2,3] [5,2,3][5,2,3]