查看“模块:MicroJSON”的源代码
←
模块:MicroJSON
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
local export = {} local function encode_value(value, schema) if type(value) == "string" then return export.encode_str(value) elseif type(value) == "table" then local first = next(value) if first == nil then return (schema and (schema[0] or schema[1])) and "[]" or "{}" elseif first == 1 then return export.encode_array(value, schema) else return export.encode_object(value, schema) end elseif type(value) == "boolean" then return value and "true" or "false" end end function export.encode_str(str) return '"' .. tostring(str) :gsub('["\\]', '\\%0') :gsub('\b', '\\b') :gsub('\f', '\\f') :gsub('\n', '\\n') :gsub('\r', '\\r') :gsub('\t', '\\t') .. '"' end function export.encode_array(array, schema) local output = {} for i, value in ipairs(array) do output[#output + 1] = encode_value(value, (type(schema) == "table") and (schema[i] or schema[0])) end return "[" .. table.concat(output, ",") .. "]" end function export.encode_object(object, schema) local output = {} for key, value in pairs(object) do output[#output + 1] = export.encode_str(key) .. ":" .. encode_value(value, (type(schema) == "table") and (schema[key] or schema[true])) end return "{" .. table.concat(output, ",") .. "}" end return export
该页面使用的模板:
模块:MicroJSON/doc
(
查看源代码
)
返回至
模块:MicroJSON
。
导航菜单
个人工具
登录
名字空间
模块
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
随机页面
最近更改
最新文件
常用
上传多个文件
工具
链入页面
相关更改
特殊页面
页面信息