Contents |
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.
newarr=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 the index or key.
Note: The index and value parameters or key and value parameters can be repeated in pairs.
Note: newarr or newobj can be equal to jarr or jobj. In this case, the object/array will simply be updated.
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.
[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]