<%# Copyright (C) 2017 Jian Chang Licensed to the public under the GNU General Public License v3. -%> <%+cbi/valueheader%> <%- local values = self:formvalue(section) if not values then values = self:cfgvalue(section) or {self.default} end local function serialize_json(x, cb) local rv, push = nil, cb if not push then rv = { } push = function(tok) rv[#rv+1] = tok end end if x == nil then push("null") elseif type(x) == "table" then push("[") for k = 1, #x do if k > 1 then push(",") end serialize_json(x[k], push) end push("]") else push('"%s"' % tostring(x):gsub('["%z\1-\31\\]', function(c) return '\\u%04x' % c:byte(1) end)) end if not cb then return table.concat(rv, "") end end -%> > <%+cbi/valuefooter%>