Difference between revisions of "JSON ARRAY"
(Added examples and (hopefully!) clarified description.) |
|||
Line 4: | Line 4: | ||
|value="" | |value="" | ||
|dvalue={{HoverText|""|Special Unicode Character
Unicode:	U+FDD2
HTML:	
llUnescapeUrl({{String|%EF%B7%92}});}} | |dvalue={{HoverText|""|Special Unicode Character
Unicode:	U+FDD2
HTML:	
llUnescapeUrl({{String|%EF%B7%92}});}} | ||
|desc= | |desc=Used with the [[llList2Json]] function to indicate that the provided list (which may be empty) is to be used to encode and return a string serialization of a Json array. | ||
Also a possible return value for the [[llJsonValueType]] function that indicates the Json data type of at the specifier location within a given Json text is, in fact, a Json array. | |||
|constants={{LSL Constants/JSON}} | |constants={{LSL Constants/JSON}} | ||
|examples | |examples=Showing usage to form a Json array: | ||
<lsl>string jsonText; | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
jsonText = llList2Json(JSON_ARRAY, ["A", 3, "B", <1.0,1.0,1.0>, "C", "A phrase", "D", PI]); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
// In the resulting Json array, all Values are separated by a comma (,). | |||
llOwnerSay(jsonText); // ["A",3,"B","<1.000000, 1.000000, 1.000000>","C","A phrase","D",3.141593] | |||
} | |||
}</lsl> | |||
Showing usage to determine if a Value within a Json text is an array: | |||
<lsl>string jsonText; | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
// Set jsonText to [3,{"A":77,"B":66},"A phrase"] | |||
// A Json array whose second element is a Json object | |||
jsonText = "[3,{\"A\":77,\"B\":66},\"A phrase\"]"; | |||
llOwnerSay(jsonText); | |||
} | |||
touch_start(integer total_number) | |||
{ | |||
// Test the entirety of the Json text to see if it's an array | |||
// Note use of the empty list for this | |||
if (llJsonValueType(jsonText, []) == JSON_ARRAY) | |||
{ | |||
llOwnerSay("The supplied string is a Json array."); // TRUE | |||
} else { | |||
llOwnerSay("The supplied string is not a Json array."); | |||
} | |||
// Test second element of the array | |||
if (llJsonValueType(jsonText, [1]) == JSON_ARRAY) | |||
{ | |||
llOwnerSay("The second element of the array is a Json array."); | |||
} else { | |||
llOwnerSay("The second element of the array is not a Json array."); // TRUE | |||
} | |||
} | |||
}</lsl> | |||
|functions= | |functions= | ||
{{LSL DefineRow||[[llList2Json]]|}} | {{LSL DefineRow||[[llList2Json]]|}} |
Revision as of 14:36, 18 September 2013
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Description
Constant: string JSON_ARRAY = "";The string constant JSON_ARRAY has the value ""
Used with the llList2Json function to indicate that the provided list (which may be empty) is to be used to encode and return a string serialization of a Json array.
Also a possible return value for the llJsonValueType function that indicates the Json data type of at the specifier location within a given Json text is, in fact, a Json array.
Caveats
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
• | llList2Json | |||
• | llJsonValueType |
Examples
Showing usage to form a Json array: <lsl>string jsonText;
default { state_entry() { jsonText = llList2Json(JSON_ARRAY, ["A", 3, "B", <1.0,1.0,1.0>, "C", "A phrase", "D", PI]); } touch_start(integer total_number) { // In the resulting Json array, all Values are separated by a comma (,). llOwnerSay(jsonText); // ["A",3,"B","<1.000000, 1.000000, 1.000000>","C","A phrase","D",3.141593] } }</lsl>
Showing usage to determine if a Value within a Json text is an array: <lsl>string jsonText;
default { state_entry() { // Set jsonText to [3,{"A":77,"B":66},"A phrase"] // A Json array whose second element is a Json object jsonText = "[3,{\"A\":77,\"B\":66},\"A phrase\"]"; llOwnerSay(jsonText); } touch_start(integer total_number) { // Test the entirety of the Json text to see if it's an array // Note use of the empty list for this if (llJsonValueType(jsonText, []) == JSON_ARRAY) { llOwnerSay("The supplied string is a Json array."); // TRUE } else { llOwnerSay("The supplied string is not a Json array."); }
// Test second element of the array if (llJsonValueType(jsonText, [1]) == JSON_ARRAY) { llOwnerSay("The second element of the array is a Json array."); } else { llOwnerSay("The second element of the array is not a Json array."); // TRUE } } }</lsl>