Difference between revisions of "JSON DELETE"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
Kireji Haiku (talk | contribs) (page still needs the value and dvalue, which I couldn't find out since I couldn't find a region running the new server version that supports JSON_DELETE) |
Lou Netizen (talk | contribs) m (Added that using JSON_DELETE to remove a non-existent item effectively nukes the JSON string) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
|name=JSON_DELETE | |name=JSON_DELETE | ||
|type=string | |type=string | ||
|value="�" | |||
|dvalue={{HoverText|"�"|Special Unicode Character
Unicode:	U+FDD8
HTML:	
llUnescapeUrl({{String|%EF%B7%98}});}} | |||
|desc=A [[:Category:LSL_Constants|constant]] used to delete a value within a [http://www.json.org/ JSON] text string. | |desc=A [[:Category:LSL_Constants|constant]] used to delete a value within a [http://www.json.org/ JSON] text string. | ||
|constants={{LSL Constants/JSON}} | |constants={{LSL Constants/JSON}} | ||
|examples=< | |examples=<source lang="lsl2">default | ||
{ | { | ||
touch_start(integer num_detected) | touch_start(integer num_detected) | ||
Line 18: | Line 20: | ||
llSay(PUBLIC_CHANNEL, "Modified: " + jsonString); | llSay(PUBLIC_CHANNEL, "Modified: " + jsonString); | ||
} | } | ||
}</ | }</source> | ||
|caveats=*Using JSON_DELETE will '''not''' prune empty objects or arrays at higher levels. | |caveats=*Using JSON_DELETE will '''not''' prune empty objects or arrays at higher levels. | ||
* Using JSON_DELETE to delete a non-existent array or object element in a JSON string will return [[JSON_INVALID]], not an unaltered string. | |||
|functions= | |functions= | ||
{{LSL DefineRow||[[llJsonSetValue]]|}} | {{LSL DefineRow||[[llJsonSetValue]]|}} |
Latest revision as of 15:17, 24 March 2023
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Description
Constant: string JSON_DELETE = "�";Caveats
- Using JSON_DELETE will not prune empty objects or arrays at higher levels.
- Using JSON_DELETE to delete a non-existent array or object element in a JSON string will return JSON_INVALID, not an unaltered string.
Related Articles
Constants
Type Flags | Value | Unicode | Integer | URL Encoded | HTML Encoded | Description |
---|---|---|---|---|---|---|
JSON_INVALID | | U+FDDO | 64976 | "%EF%B7%90" |  | Value returned when inputs are not well formed. |
JSON_OBJECT | | U+FDD1 | 64977 | "%EF%B7%91" |  | |
JSON_ARRAY | | U+FDD2 | 64978 | "%EF%B7%92" |  | |
JSON_NUMBER | | U+FDD3 | 64979 | "%EF%B7%93" |  | |
JSON_STRING | | U+FDD4 | 64980 | "%EF%B7%94" |  | |
JSON_NULL | | U+FDD5 | 64981 | "%EF%B7%95" |  | |
JSON_TRUE | | U+FDD6 | 64982 | "%EF%B7%96" |  | |
JSON_FALSE | | U+FDD7 | 64983 | "%EF%B7%97" |  | |
JSON_DELETE | | U+FDD8 | 64984 | "%EF%B7%98" |  | Used with llJsonSetValue to remove a key-value pair. |
Functions
• | llJsonSetValue |
Examples
default
{
touch_start(integer num_detected)
{
string jsonString = "[1,2,3,4,5]";
llSay(PUBLIC_CHANNEL, "Original: " + jsonString);
// we remove the first item (list has zero-based index!)
jsonString = llJsonSetValue(jsonString, [0], JSON_DELETE);
// "[2,3,4,5]"
llSay(PUBLIC_CHANNEL, "Modified: " + jsonString);
}
}