Difference between revisions of "LlList2Json"

From Second Life Wiki
Jump to: navigation, search
(make this more explicit, for BUG-6280)
m
Line 26: Line 26:
 
|also_articles={{LSL DefineRow||[[Typecast]]|}}
 
|also_articles={{LSL DefineRow||[[Typecast]]|}}
 
|notes=
 
|notes=
|caveats=* Note that '''values''' items are interpreted as JSON, not LSL, types. For example, <code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["bacon", "true", "false", "null"]))</code> returns the LSL list <code>["bacon", [[JSON_TRUE]], [[JSON_FALSE]], [[JSON_NULL]]]</code>, while <code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["\"bacon\"", "\"true\"", "\"false\"", "\"null\""]))</code> returns the LSL list <code>["bacon", "true", "false", "null"]</code>
+
|caveats=* Note that string '''values''' items are interpreted as JSON, not LSL, strings. Quotation marks, if required, must be added explicitly. For example, <code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["bacon", "true", "false", "null"]))</code> returns the LSL list <code>["bacon", [[JSON_TRUE]], [[JSON_FALSE]], [[JSON_NULL]]]</code>, while <code>[[llJson2List]]([[llList2Json]]([[JSON_ARRAY]], ["\"bacon\"", "\"true\"", "\"false\"", "\"null\""]))</code> returns the LSL list <code>["bacon", "true", "false", "null"]</code>
 
|permission
 
|permission
 
|negative_index
 
|negative_index

Revision as of 16:58, 6 June 2014

Summary

Function: string llList2Json( string type, list values );

This function takes a list and returns a JSON string of that list as either a json object or json array.
Returns a string that is either values serialized as a JSON type, or if an error was encountered JSON_INVALID.

• string type
• list values

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

Specification

See Json_usage_in_LSL

  • If type is JSON_OBJECT the list must be a strided list of key, value pairs and a string representing a json object will be returned.
  • If type is JSON_ARRAY then a string representing a json array will be returned.
  • If type is any other string then JSON_INVALID will be returned.
Type Flags Value Unicode URL Encoded HTML Encoded Description
JSON_INVALID U+FDDO "%EF%B7%90" &#xFDD0; Value returned when inputs are not well formed.
JSON_OBJECT U+FDD1 "%EF%B7%91" &#xFDD1;
JSON_ARRAY U+FDD2 "%EF%B7%92" &#xFDD2;

Caveats

  • Note that string values items are interpreted as JSON, not LSL, strings. Quotation marks, if required, must be added explicitly. For example, llJson2List(llList2Json(JSON_ARRAY, ["bacon", "true", "false", "null"])) returns the LSL list ["bacon", JSON_TRUE, JSON_FALSE, JSON_NULL], while llJson2List(llList2Json(JSON_ARRAY, ["\"bacon\"", "\"true\"", "\"false\"", "\"null\""])) returns the LSL list ["bacon", "true", "false", "null"]
All Issues ~ Search JIRA for related Bugs

Examples

See Also

Constants

•  JSON_ARRAY
•  JSON_OBJECT
•  JSON_INVALID

Functions

•  llJson2List
•  llJsonGetValue
•  llJsonSetValue
•  llJsonValueType

Articles

•  Typecast

Deep Notes

History

Date of Release 20/05/2013

Search JIRA for related Issues

Signature

function string llList2Json( string type, list values );

Haiku

Their ships list to port
for what reason I know not
we list to JSON

Listen to Jason
cryptically my sensei said
I must have misheard