我有这个JSON字符串:
[{
"dpeartment":"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043e\u0442\u0434\u0435\u043b",
"position":"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u044f"
},{
"dpeartment":"\u041c\u0422\u0426 \u0438 \u0441\u043a\u043b\u0430\u0434\u043e\u0432\u043e \u0441\u0442\u043e\u043f\u0430\u043d\u0441\u0442\u0432\u043e",
"position":"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u044f"
}]
它包含西里尔字符,我想将其转换为普通的,可读的UTF-8编码的字符串。如何解码JSON并将西里尔文字转换为可读的UTF-8字符串?
Java是否为此有任何内置类?
最佳答案
http://json.org/底部是用于解析和格式化JSON的Java库列表。例如org.json
或json-simple。
如何解码JSON并将西里尔文字转换为可读的UTF-8字符串?
它们中的任何一个都应将JSON数据包中带引号的字符串公开为java.lang.String
,这会将字符串内容公开为一系列UTF-16代码单元。如果然后想要带UTF-8八位字节的byte[]
,请参见How to convert Strings to and from UTF8 byte arrays in Java。