Difference between revisions of "JSON NULL"

From Second Life Wiki
Jump to navigation Jump to search
(Added caveat. ty...)
m (<lsl> tag to <source>)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL Constant
{{LSL Constant
|inject-2={{Issues/BUG-3692}}
|name=JSON_NULL
|name=JSON_NULL
|type=string
|type=string
Line 10: Line 11:
Also used to encode the bare word 'null' within a Json text to signify an empty, valueless placeholder Value at that location (the empty LSL String, "", can be used as well for that).
Also used to encode the bare word 'null' within a Json text to signify an empty, valueless placeholder Value at that location (the empty LSL String, "", can be used as well for that).
|constants={{LSL Constants/JSON}}
|constants={{LSL Constants/JSON}}
|examples
|examples=<source lang="lsl2">// Showing usage of JSON_NULL
|caveats=*[https://jira.secondlife.com/browse/BUG-3692 BUG-3692] ''JSON_NULL may be deceptively returned instead of [[JSON_INVALID]] when [http://tools.ietf.org/html/rfc4627 noncompliant Json text] is encountered by either [[llJsonValueType]] or [[llJsonGetValue]].''
// within a Json text string
string jText;
 
default
{
    state_entry(){
        jText = llList2Json(JSON_OBJECT, ["A", 4, "B", 5]);
        llOwnerSay(jText); // jText is '{"A":4,"B":5}'
        llOwnerSay(llJsonGetValue(jText, ["B"])); // The string "5"
        jText = llJsonSetValue(jText, ["B"], JSON_NULL);
        llOwnerSay(jText); // jText is now '{"A":4,"B":null}'
        llOwnerSay(llJsonGetValue(jText, ["B"])); // The Unicode value of JSON_NULL
 
        }
}</source>
|caveats
|functions=
|functions=
{{LSL DefineRow||[[llJsonValueType]]|}}
{{LSL DefineRow||[[llJsonValueType]]|}}
{{LSL DefineRow||[[llJsonGetValue]]|}}
{{LSL DefineRow||[[llJsonGetValue]]|}}
|events
|events
|cat1
|cat1=JSON
|cat2
|cat2
|cat3
|cat3

Latest revision as of 14:50, 23 January 2015

Description

Constant: string JSON_NULL = "�";

The string constant JSON_NULL has the value "�"

Return value for llJsonValueType function indicating the Json data type of a given address specifier in a given string-serialized JSON text.

Also the return string value for llJsonGetValue function when the bare word 'null' is at the given address specifier in a given string-serialized JSON text.

Also used to encode the bare word 'null' within a Json text to signify an empty, valueless placeholder Value at that location (the empty LSL String, "", can be used as well for that).

Caveats


Related Articles

Constants

Type Flags Value Unicode Integer URL Encoded HTML Encoded Description
JSON_INVALID U+FDDO 64976 "%EF%B7%90" &#xFDD0; Value returned when inputs are not well formed.
JSON_OBJECT U+FDD1 64977 "%EF%B7%91" &#xFDD1;
JSON_ARRAY U+FDD2 64978 "%EF%B7%92" &#xFDD2;
JSON_NUMBER U+FDD3 64979 "%EF%B7%93" &#xFDD3;
JSON_STRING U+FDD4 64980 "%EF%B7%94" &#xFDD4;
JSON_NULL U+FDD5 64981 "%EF%B7%95" &#xFDD5;
JSON_TRUE U+FDD6 64982 "%EF%B7%96" &#xFDD6;
JSON_FALSE U+FDD7 64983 "%EF%B7%97" &#xFDD7;
JSON_DELETE U+FDD8 64984 "%EF%B7%98" &#xFDD8; Used with llJsonSetValue to remove a key-value pair.

Functions

•  llJsonValueType
•  llJsonGetValue

Examples

// Showing usage of JSON_NULL
// within a Json text string
string jText;

default
{
    state_entry(){
        jText = llList2Json(JSON_OBJECT, ["A", 4, "B", 5]);
        llOwnerSay(jText); // jText is '{"A":4,"B":5}'
        llOwnerSay(llJsonGetValue(jText, ["B"])); // The string "5"
        jText = llJsonSetValue(jText, ["B"], JSON_NULL);
        llOwnerSay(jText); // jText is now '{"A":4,"B":null}'
        llOwnerSay(llJsonGetValue(jText, ["B"])); // The Unicode value of JSON_NULL

        }
}

Deep Notes

All Issues

~ Search JIRA for related Issues
   JSON_NULL may be deceptively returned instead of JSON_INVALID when noncompliant Json text is encountered by either llJsonValueType or llJsonGetValue. Fixed with release 13.09.21.281328.

Signature

string JSON_NULL = "�";