luci-lib-json: support serializing userdata
Fixes the following error when attempting to serialize userdata objects: .../json.lua:81: attempt to call local 'parser' (a nil value) Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
364c271a84
commit
09de5a74e1
1 changed files with 6 additions and 1 deletions
|
@ -181,13 +181,18 @@ function Encoder.parse_iter(self, obj)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Encoder.parse_udata(self, obj)
|
||||||
|
return self:parse_string(tostring(obj))
|
||||||
|
end
|
||||||
|
|
||||||
Encoder.parsers = {
|
Encoder.parsers = {
|
||||||
['nil'] = Encoder.parse_nil,
|
['nil'] = Encoder.parse_nil,
|
||||||
['table'] = Encoder.parse_iter,
|
['table'] = Encoder.parse_iter,
|
||||||
['number'] = Encoder.parse_number,
|
['number'] = Encoder.parse_number,
|
||||||
['string'] = Encoder.parse_string,
|
['string'] = Encoder.parse_string,
|
||||||
['boolean'] = Encoder.parse_bool,
|
['boolean'] = Encoder.parse_bool,
|
||||||
['function'] = Encoder.parse_iter
|
['function'] = Encoder.parse_iter,
|
||||||
|
['userdata'] = Encoder.parse_udata,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue