json.path.delete

From RPTools Wiki
Jump to navigation Jump to search

json.path.delete() Function

Introduced in version 1.5.5
Returns a JSON Array or JSON Object with deleted elements. These deletions are specified through the path parameter. Additional information on how to specify the path is availabe here.

Usage

json.path.delete(json, path)

Parameters

  • json - The json element to delete the value from.
  • path - The path of the values.

Examples

Suppose we have the following nested json:
[h:troll = json.set("{}", "name", "Troll", "HP", 75, "Attacks", json.append("Claw", "Bite"))]
[h:orc = json.set("{}", "name", "Orc", "HP", 13, "Attacks", json.append("Sword", "Punch"))]
[h:monsters = json.set("{}", "Troll", troll, "Orc", orc)]

To delete the "Punch" attack of the Orc, we could write

[r: json.path.delete(monsters, "Orc.Attacks.[1]")]

or, alternatively,

[r: json.path.delete(monsters, "Orc.Attacks[?(@ == 'Punch')]")]

Either statement return the json without the "Punch",

{"Troll":{"name":"Troll","HP":75,"Attacks":["Claw","Bite"]},"Orc":{"name":"Orc","HP":13,"Attacks":["Sword"]}}