2012-10-08 79 views
0

我使用的JSONObject从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); 

不起作用以及

有没有什么办法,使这样的操作?也许我应该使用其他库?

回答

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); 

当然,还有更多的图书馆,但是这是它的基本功能。

+0

不幸的是,这不是我的问题的解决方案。我也没有在GSON wiki中找到任何有关charset的信息。无论如何非常感谢你的回复。 – UnknownJoe