projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
364c271
)
luci-lib-json: support serializing userdata
author
Jo-Philipp Wich
<jo@mein.io>
Fri, 18 May 2018 14:59:16 +0000
(16:59 +0200)
committer
Jo-Philipp Wich
<jo@mein.io>
Fri, 18 May 2018 14:59:16 +0000
(16:59 +0200)
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>
libs/luci-lib-json/luasrc/json.lua
patch
|
blob
|
history
diff --git
a/libs/luci-lib-json/luasrc/json.lua
b/libs/luci-lib-json/luasrc/json.lua
index
f7b57f9
..
6d4d752
100644
(file)
--- a/
libs/luci-lib-json/luasrc/json.lua
+++ b/
libs/luci-lib-json/luasrc/json.lua
@@
-181,13
+181,18
@@
function Encoder.parse_iter(self, obj)
end
end
+function Encoder.parse_udata(self, obj)
+ return self:parse_string(tostring(obj))
+end
+
Encoder.parsers = {
['nil'] = Encoder.parse_nil,
['table'] = Encoder.parse_iter,
['number'] = Encoder.parse_number,
['string'] = Encoder.parse_string,
['boolean'] = Encoder.parse_bool,
- ['function'] = Encoder.parse_iter
+ ['function'] = Encoder.parse_iter,
+ ['userdata'] = Encoder.parse_udata,
}