【发布时间】:2011-06-21 12:43:06
【问题描述】:
我有一个字符串,它在 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 homepage's syntax description(这是规范吗?)说 char 可以是
任何-Unicode 字符- 除了-"-或-\-或- 控制字符”
所以也许它按原样传递字符串而不将其编码为 \u00f8... 在这种情况下,我认为问题出在 gson 库上。
谁能帮忙?
我想我的解决方法是使用不同的 JSON 库,或者在调用 JSON.stringify() 后自己手动转义字符串——但如果这是一个错误,那么我想提交一个错误报告。
【问题讨论】:
-
grrr... 别介意我的 Windows PC 决定使用将度数符号映射到 \u00f8 而不是 \u00b0 的字符集!