【发布时间】:2015-03-15 06:00:25
【问题描述】:
我正在使用 gson 解析一个 json 文件。 json 文件中的每一行都是一个 JSON 对象。其中一个字段,有一堆unicode,加上\n
{"id":"12345", "text":"RT @abo_khalid_03: \u0644\u0623\u0646 \u0623\u0645\u0631\u0643\u0650 \u064a\u0647\u0645\u0646\u064a\ud83c\udf39\n\n\u0635\u0648\u0631 \u0627\u0644\u0646\u0633\u064e\u0627\u0621 \u0641\u064a \u0627\u0644\u0639\u0631\u0636 \u0627\u0645\u0627\u0645 \u0627\u0644\u062c\u0645\u064a\u0639 \u0625\u062d\u062f\u064e\u0649 \u0627\u0644\u0630\u0646\u0648\u0628 \u0627\u0644\u062c\u064e\u0627\u0631\u0651\u064a\u0647\u2757\ufe0f\n\n\u0641\u064e\u0625\u0646 \u0644\u0645 \u062a\u062c\u0639\u0644\u0651\u064a \u0644\u0643\u0650 \u062e\u064a\u0631\u064b\u0627 \u062c\u0627\u0631\u064a \u060c\n\n\u0644\u0627 \u062a\u062c\u0639\u0651\u0644\u064a \u2026"}
整个事情就是一行,JSON对象的末尾只有一个换行符。字段中的“\n”字符被视为字面上的“\n”。 当我使用 gson 取出这个字段并将其转换为字符串时,gson 会将“\n”字符转换为换行符并弄乱整个结构。
编辑: 看来我的 JSON 解码器(我正在使用 gson)正在将“\n”解释为换行符(我想应该如此)。那么我的问题是,如何在不将 \n 转换为换行符的情况下将 JSON 字段解析为字符串?
【问题讨论】:
-
\n是换行符。 Java 不会导致这种情况。 -
在我看来不太像 JSON。
-
抱歉,请允许我编辑文本。我只粘贴了 JSON 的一部分。这应该使它更像 JSON
-
Java 中将两个字符 \ 和
n转换为行终止符的唯一组件是编译器和正则表达式编译器。您的问题出在其他地方,很可能与您使用的 JSON 解码器有关,否则数据一开始就没有正确格式化。