如何通过Gson解析单个字段

时间:2014-12-15 14:52:50

标签: java android gson

我有这个JSON

[
  {"Description":"When settir\n"}
]

我的容器类是

    class MessageContainer 
{

    private String Description;

    public String getDescription() {
        return Description;
    }

    public void setDescription(String description) {
        Description = description;
    }

}

使用

时出现异常
MessageContainer container = mGson.fromJson(result, MessageContainer.class);

异常读取EXPECTED BEGIN OBJECT,但找到了字符串。

任何人都知道是什么给出的?

2 个答案:

答案 0 :(得分:2)

因为它是MessageContainer的数组而不是单个MessageContainer实例。

所以你的fromJson应该是

Type type = new TypeToken<List<MessageContainer>>(){}.getType();
List<MessageContainer> container = new Gson().fromJson(json, type);

答案 1 :(得分:1)

[
  {"Description":"When settir\n"}
]

这用于数组列表

{"Description":"When settir\n"}

这是简单的对象

public static void main(String[] args) {
    MessageContainer m = new MessageContainer();
    m.setDescription("When settir\n");
    ArrayList<MessageContainer> list = new ArrayList<MessageContainer>();
    list.add(m);
    System.out.println(new Gson().toJson(list));
    String json = new Gson().toJson(list);
    ArrayList<MessageContainer>  resultList = new Gson().fromJson(json, new TypeToken<ArrayList<MessageContainer>>() {}.getType());
}