LlJson2List: Difference between revisions

From Second Life Wiki
Jump to navigation Jump to search
Ollj Oh (talk | contribs)
#example that makes sense, under some conditions
Wulfie Reanimator (talk | contribs)
m Removed the "barely useful example" by the author's own words.
 
(3 intermediate revisions by 3 users not shown)
Line 12: Line 12:
|constants
|constants
|examples=
|examples=
<lsl>
<source lang="lsl2">
string Json2CSV(string csv){//Converts a Json into a string of comma separated values. == Removes the top level [ and ] and all " from top level JSON_STRING values.
default
     list li llJson2List(li);
{
     return llList2CSV(Li);
     state_entry()
}
     {
//If the Json is a 1-dimensional array of strings like "[\"a\",\"b\",\"c\"]", the returned CSV-string will be: "a,b,c" //This is a much shorter CSV that will save some memory.
        list items;
//If the Json contains a nested arrays like "[[1,2],["PI",4]]", the returned csv string will be : "[1,2],[\"Pi\",4]"
 
//"[1,2],[\"Pi\",4]" is not a very readable CSV-string and not shortened by much. "PI" is not a top level string value because it is nested 1 level deeper.llJson2List unescapes those.
        string value = "89556747-24cb-43ed-920b-47caed15465f";
</lsl>
        items = llJson2List(value);
        // ["89556747-24cb-43ed-920b-47caed15465f"]


        string object = "{\"pi\": 3.14, \"set\": [1,2,3], \"status\": \"ok\"}";
        items = llJson2List(object);
        // ["pi", 3.140000, "set", "[1,2,3]", "status", "ok"]


        string array = "[0, 3.14, [1,2,3], {}]";
        items = llJson2List(array);
        // [0, 3.140000, "[1,2,3]", "{}"]
    }
}
</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llList2Json]]|}}
|also_functions={{LSL DefineRow||[[llList2Json]]|}}

Latest revision as of 07:59, 15 December 2024

Summary

Function: list llJson2List( string src );
0.0 Forced Delay
10.0 Energy

This function takes a string representing JSON, and returns a list of the top level.
Returns a list made by parsing src, a string representing json.

• string src

To convert a list into a json formatted string use llList2Json.

Specification

See Json_usage_in_LSL

  • If the json represents a single item (number, string, true, false or null) then a list with 1 item will be returned.
  • If the json represents an object then a strided list of key, value pairs is returned. All values that are objects or arrays are returned as json strings.
  • If the json represents an array then a list of all items is returned. All values that are objects or arrays are returned as json strings.

Examples

default
{
    state_entry()
    {
        list items;

        string value = "89556747-24cb-43ed-920b-47caed15465f";
        items = llJson2List(value);
        // ["89556747-24cb-43ed-920b-47caed15465f"]

        string object = "{\"pi\": 3.14, \"set\": [1,2,3], \"status\": \"ok\"}";
        items = llJson2List(object);
        // ["pi", 3.140000, "set", "[1,2,3]", "status", "ok"]

        string array = "[0, 3.14, [1,2,3], {}]";
        items = llJson2List(array);
        // [0, 3.140000, "[1,2,3]", "{}"]
    }
}

See Also

Functions

•  llList2Json
•  llJsonGetValue
•  llJsonSetValue
•  llJsonValueType

Articles

•  Typecast

Deep Notes

History

Date of Release 20/05/2013

Signature

function list llJson2List( string src );