From b6c98f9c579e8f18af57962d0e500b5b20bf6439 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 16 Apr 2012 16:48:59 +0000 Subject: [PATCH] Fix JSON NaN Hi, The attached patch fixes the JSON generation when dealing with NaN (not a number), this makes the JSON parsing in the web browser succeed (before it would get a "nan" which is not a valid JS value) Chris --- libs/web/luasrc/http.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/web/luasrc/http.lua b/libs/web/luasrc/http.lua index 858540548..60a3e0722 100644 --- a/libs/web/luasrc/http.lua +++ b/libs/web/luasrc/http.lua @@ -333,7 +333,12 @@ function write_json(x) write(" }") end elseif type(x) == "number" or type(x) == "boolean" then - write(tostring(x)) + if (x ~= x) then + -- NaN is the only value that doesn't equal to itself. + write("Number.NaN") + else + write(tostring(x)) + end elseif type(x) == "string" then write("%q" % tostring(x)) end -- 2.25.1