json.set: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Added part about explicitly setting JSON Array variable to equal the result of the json.set to "permanently" store the change.)
(Added note about reserved word "Class" in Java.)
Line 26: Line 26:


'''Note:''' The {{code|index}} and {{code|value}} parameters or {{code|key}} and {{code|value}} parameters can be repeated in pairs.
'''Note:''' The {{code|index}} and {{code|value}} parameters or {{code|key}} and {{code|value}} parameters can be repeated in pairs.
'''Note:''' The word "class" is a reserved word in Java; 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.





Revision as of 01:43, 5 September 2009

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, index, value)
json.set(jarr, index, value, ..., ...)
json.set(jobj, key, value)
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: The word "class" is a reserved word in Java; 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]

See Also