Java - JSONObject charset

时间:2012-10-08 20:31:06

标签: java json utf-8 character-encoding utf8-decode

我正在使用org.json中的JSONObject。*

我需要使用像这样的字符串字段构造JSONObject

field:"englishletters123\u1234\u3456"//UTF-8 encoding

所以,我正在做这个

myJSONObject.put("field", myString);

但不是这样,我会用流利的(非英语)字母而不是UTF-8表示来获取对象。

String newString = new String(oldString.getBytes(...), ...);
myJSONObject.put("field", newString);

不起作用

有没有办法进行此类操作?也许我应该使用其他一些库?

1 个答案:

答案 0 :(得分:0)

我对JSON序列化库并不是很熟悉,但是自从你问到,谷歌的GSON库是惊人的。它通过反射处理几乎所有内容,就像创建一个符合您试图创建的JSON文本描述的对象一样简单。

例如:

public class Thing{
    public String field = "whatever you want";
}

Gson gson = new Gson();

String jsonString = gson.toJson(new Thing());

反序列化也很简单:

Thing t = gson.fromJson(jsonString, Thing.class);

当然,图书馆还有更多内容,但这是它的基础。