I have a string which gets serialized to JSON in Javascript, and then deserialized to Java.
It looks like if the string contains a degree symbol, then I get a problem.
I could use some help in figuring out who to blame:
- is it the Spidermonkey 1.8 implementation? (this has a JSON implementation built-in)
- is it Google gson?
- is it me for not doing something properly?
Here's what happens in JSDB:
js>s='15u00f8C'
15°C
js>JSON.stringify(s)
"15°C"
I would have expected "15u00f8C'
which leads me to believe that Spidermonkey's JSON implementation isn't doing the right thing... except that the JSON homepage's syntax description (is that the spec?) says that a char can be
any-Unicode-character-
except-"-or--or-
control-character"
so maybe it passes the string along as-is without encoding it as u00f8... in which case I would think the problem is with the gson library.
Can anyone help?
I suppose my workaround is to use either a different JSON library, or manually escape strings myself after calling JSON.stringify()
-- but if this is a bug then I'd like to file a bug report.
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…