1

我有一个 JSON 服务,当InputStreamReader读取结果“\”消失并将“n”留在字符串中时,它返回带有“\n”的结果。

我无法将“\n”转换为下一行以显示在 TextArea 中。

例如:

Service Result: Hello\nWorld
PassThrough InputStreamReader: HellonWorld
TextArea Output: HellonWorld

我需要它是:

Service Result: Hello\nWorld
PassThrough InputStreamReader: Hello
World
TextArea Output: Hello
World

请帮助我解决这个问题。

我正在使用 LWUIT 并且正在为 J2ME 设备进行开发。

4

2 回答 2

1

这不是最好的方法,但它是:

将以下行添加到 JSONParser.java

else if (c == 'n') {
    c = '\n';
}

以下

c = (char) i.read();
if (c == 'u') {
    String unicode = "" + ((char) i.read()) + ((char) i.read()) + ((char) i.read()) + ((char) i.read());
    try {
        c = (char) Integer.parseInt(unicode, 16);
    } catch (NumberFormatException err) {
        // problem in parsing the u notation!
        err.printStackTrace();
        System.out.println("Error in parsing \\u" + unicode);
    }
}
于 2011-11-25T04:05:22.527 回答
0

你能粘贴返回的确切 JSON 字符串吗?如果数据在双引号内,那么除了解码符号"外,根本不应该修改它。\u

于 2011-11-24T10:19:17.677 回答