我有这个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.jsonjson-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

10-04 14:49