我有一个字符串在Javascript中被序列化为JSON,然后在Java中被反序列化。
如果该字符串包含度数符号,则会出现问题。
我需要帮助找出问题的原因:
- 是Spidermonkey 1.8实现的问题吗?(它内置了一个JSON实现)
- 是Google gson的问题吗?
- 还是因为我没有正确操作?
以下是在JSDB中发生的情况:
js>s='15\u00f8C'
15°C
js>JSON.stringify(s)
"15°C"
我本来期望的是 "15\u00f8C'
,这使我认为Spidermonkey的JSON实现并没有做正确的事情... 除非JSON主页的语法描述(那是规范吗?)说字符可以是任何Unicode字符,除了“-"或"\”或控制字符。所以也许它会将字符串原样传递而不将其编码为\u00f8...在这种情况下,我认为问题出在gson库上。
有人能帮忙吗?
我想我的解决方法是使用其他的JSON库,或者在调用JSON.stringify()
之后手动转义字符串--但如果这是一个bug,我想报告一下。