Google Gson 解析字符串数组和字符串列表

来源:互联网 发布:java完全自学手册 pdf 编辑:程序博客网 时间:2024/06/05 08:08

本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。


String 类型数组和 String 类型列表的 JSON 字符串表示是一致的,如

["Beijing","Shanghai","Guangzhou","Chengdu"]

解析如上 JSON 字符串即可以使用 String 类型数组,也可以使用 String 类型列表

1 使用 String 类型数组解析

@Testpublic void test() {    Gson gson = new Gson();    String jsonStr = "[\"Beijing\",\"Shanghai\",\"Guangzhou\",\"Chengdu\"]";    String[] jsonArray = gson.fromJson(jsonStr, String[].class);    assertTrue(jsonArray.length == 4);    for (String item : jsonArray) {        if (!item.equals("Beijing")            && !item.equals("Shanghai")            && !item.equals("Guangzhou")            && !item.equals("Chengdu")) {            fail();        }    }}

2 使用 String 类型列表解析

@Testpublic void test() {    Gson gson = new Gson();    String jsonStr = "[\"Beijing\",\"Shanghai\",\"Guangzhou\",\"Chengdu\"]";    List<String> jsonList = gson.fromJson(jsonStr, new TypeToken<List<String>>() {}.getType());    assertTrue(jsonList.size() == 4);    for (String item : jsonList) {        if (!item.equals("Beijing")            && !item.equals("Shanghai")            && !item.equals("Guangzhou")            && !item.equals("Chengdu")) {            fail();        }    }}
0 0
原创粉丝点击