From 5a42e8304e3e2747b85570d56e1d2346b0be5788 Mon Sep 17 00:00:00 2001 From: Thomas Harning Jr Date: Mon, 28 Jul 2008 21:53:36 -0400 Subject: [PATCH] encode: Addd support for NaN/Infinity + \r --- src/json/encode.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/json/encode.lua b/src/json/encode.lua index 7021edd..f7f0fe0 100644 --- a/src/json/encode.lua +++ b/src/json/encode.lua @@ -22,6 +22,7 @@ local encodingMap = { ['\t'] = '\\t', ['\b'] = '\\b', ['\f'] = '\\f', + ['\r'] = '\\r', ['/'] = '\\/' } @@ -100,9 +101,19 @@ local function encodeTable(tab) end end +local function encodeNumber(number) + local str = tostring(number) + if str == "nan" then return "NaN" end + if str == "inf" then return "Infinity" end + if str == "-inf" then return "-Infinity" end + return str +end + +local allowAllNumbers = true + local encodeMapping = { ['table' ] = encodeTable, - ['number' ] = tostring, + ['number' ] = allowAllNumbers and encodeNumber or tostring, ['boolean'] = tostring, ['function'] = tonull, ['string' ] = encodeString, -- 2.11.4.GIT