2012-10-08 109 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