@JSONSETVALUE[[xpath,]value,type] : Sets a new value for the element specified by XPath. The file must have been opened with a previous @JSONOPEN.
If xpath is not specified, @JSONSETVALUE will default to the current xpath.
value specifies the new value.
type specifies the type of the value. Possible values are:
•0 (Object)
•1 (Array)
•2 (String)
•3 (Number)
•4 (Bool)
•5 (Null)
•6 (Raw)
Returns 0 on success, or a JSON error code on failure.
Example:
With this JSON file:
{
"store": {
"books": [
{
"tags": ["trilogy", "war"],
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 12.99
},
{
"tags": ["classic", "whales"],
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 10.99
}
]
}
}
To update the price:
%@jsonsetvalue[/json/store/books/[1]/price,13.99,3]
10231 Unbalanced element tag |
10232 Invalid JSON markup |
10233 Invalid XPath |
10234 DOM tree unavailable |
101 Invalid attribute index |
102 No attributes available |
103 Invalid namespace index |
104 No namespaces available |
105 Invalid element index |
106 No elements available |
107 Attribute does not exist |
201 Unbalanced element tag |
202 Unknown element prefix (can't find namespace) |
203 Unknown attribute prefix (can't find namespace) |
204 Invalid XML markup |
205 Invalid end state for parser |
206 Document contains unbalanced element |
207 Invalid XPath |
208 No such child |
209 Top element does not match start of path |
210 DOM tree unavailable |
302 Can't open file. |