json.path.delete: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(No difference)

Latest revision as of 23:59, 15 March 2023

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"]}}