【问题标题】:Java - JSONObject charsetJava - JSONObject 字符集
【发布时间】:2012-10-08 20:31:05
【问题描述】:

我正在使用来自 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);

效果不好

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

【问题讨论】:

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


    【解决方案1】:

    我对那个 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);
    

    当然,图书馆还有很多东西,但这是它的基础。

    【讨论】:

    • 不幸的是,这不是我的问题的解决方案。我也没有在 GSON wiki 中找到有关字符集的任何信息。无论如何,非常感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多