Difference between revisions of "Talk:LlList2Json"
Jump to navigation
Jump to search
(Safe strings) |
m (convert tags) |
||
Line 2: | Line 2: | ||
Passing strings verbatim to [[llJsonSetValue]] or [[llList2Json]] is not safe. One way to escape strings properly to make them safe for use with both is to use this function: | Passing strings verbatim to [[llJsonSetValue]] or [[llList2Json]] is not safe. One way to escape strings properly to make them safe for use with both is to use this function: | ||
< | <source lang="lsl2"> | ||
string String2Json(string s) | string String2Json(string s) | ||
{ | { | ||
return llGetSubString(llList2Json(JSON_OBJECT, [s,""]), 1, -5); | return llGetSubString(llList2Json(JSON_OBJECT, [s,""]), 1, -5); | ||
} | } | ||
</ | </source> | ||
Examples: | Examples: | ||
< | <source lang="lsl2"> | ||
llOwnerSay(String2Json(llUnescapeURL("%09"))); // outputs: Object: "\t" | llOwnerSay(String2Json(llUnescapeURL("%09"))); // outputs: Object: "\t" | ||
llOwnerSay(String2Json("\n")); // outputs: Object: "\n" | llOwnerSay(String2Json("\n")); // outputs: Object: "\n" | ||
Line 19: | Line 19: | ||
llOwnerSay(llList2Json(JSON_ARRAY, [String2Json("this \"string\" is not safe")])); | llOwnerSay(llList2Json(JSON_ARRAY, [String2Json("this \"string\" is not safe")])); | ||
// both output: Object: ["this \"string\" is not safe"] | // both output: Object: ["this \"string\" is not safe"] | ||
</ | </source> | ||
--[[User:Sei Lisa|Sei Lisa]] 17:22, 6 June 2014 (PDT) | --[[User:Sei Lisa|Sei Lisa]] 17:22, 6 June 2014 (PDT) |
Revision as of 07:25, 27 January 2015
Safe strings
Passing strings verbatim to llJsonSetValue or llList2Json is not safe. One way to escape strings properly to make them safe for use with both is to use this function:
string String2Json(string s)
{
return llGetSubString(llList2Json(JSON_OBJECT, [s,""]), 1, -5);
}
Examples:
llOwnerSay(String2Json(llUnescapeURL("%09"))); // outputs: Object: "\t"
llOwnerSay(String2Json("\n")); // outputs: Object: "\n"
llOwnerSay(String2Json("this \"string\" is not safe")); // outputs: Object: "this \"string\" is not safe"
llOwnerSay(String2Json("\"ab\"")); // outputs: Object: "\"ab\""
// Examples of use with the corresponding functions:
llOwnerSay(llJsonSetValue("[]", [0], String2Json("this \"string\" is not safe")));
llOwnerSay(llList2Json(JSON_ARRAY, [String2Json("this \"string\" is not safe")]));
// both output: Object: ["this \"string\" is not safe"]
--Sei Lisa 17:22, 6 June 2014 (PDT)