Difference between revisions of "JSON ARRAY"

From Second Life Wiki
Jump to navigation Jump to search
(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=Indicates to [[llList2Json]] function that a string representing a json array will be returned.<br/>Also a return value for [[llJsonValueType]] function indicating the data type of a given address specifier in a given string-serialized JSON object.
|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 15:36, 18 September 2013

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.

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

•  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>

Deep Notes

Search JIRA for related Issues

Signature

string JSON_ARRAY = "﷒";