webmcp

annotate framework/env/encode/json.lua @ 466:2751b6b81c23

Minor efficiency enhancement in <db_object>:try_save() method
author jbe
date Mon Nov 07 19:32:51 2016 +0100 (2016-11-07)
parents 81d94b362043
children
rev   line source
jbe/bsw@0 1 --[[--
jbe@285 2 json_string = -- JavaScript code
jbe/bsw@0 3 encode.json(
jbe@285 4 value -- nil, false, true, a number, a string, or json.array{...} or json.object{...}
jbe/bsw@0 5 )
jbe/bsw@0 6
jbe@285 7 This function encodes any native datatype or table structure to JavaScript object notation (JSON). In order to distinguish between the empty array and the empty object, use json.array{} and json.object{} respectively.
jbe@10 8
jbe@285 9 The return value of this function is additionally escaped in such way that it can be safely included in inline scripts both in HTML and XHTML (within CDATA section).
jbe@223 10
jbe/bsw@0 11 --]]--
jbe/bsw@0 12
jbe/bsw@0 13 function encode.json(obj)
jbe@293 14 local str = json.export(obj)
jbe@285 15 str = string.gsub(str, "</", "<\\/")
jbe@285 16 str = string.gsub(str, "<!%[CDATA%[", "\\u003c![CDATA[")
jbe@285 17 str = string.gsub(str, "]]>", "]]\\u003e")
jbe@285 18 return str
jbe/bsw@0 19 end

Impressum / About Us