如何通过gson解析存储的json数组字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过gson解析存储的json数组字符串相关的知识,希望对你有一定的参考价值。

参考技术A 引入gson-1.4.jar,(挺蛋疼的,不想自己研究这玩意,寻思网上直接找现成的Demo,结果没有我想要的东西)
Gson中重要的几个核心类:
Gson、JsonParser、JsonObject、JsonArray。
下面演示这两个类之间的转换过程:
import Java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class GsonTest

public static void main(String[] args)
Map map = new HashMap();
map.put("name", "nam1");
map.put("age", "12");

List list = new ArrayList();
list.add("name");
list.add("123");
list.add(map);

//json格式的字符串
String str = "['name':'kevin','age':25,'name':'cissy','age':24]";
//创建一个Gson对象
Gson gson = new Gson();

//把java对象转换成Json字符串。
String jsonStr = gson.toJson(map);
System.out.println(jsonStr);

//把集合对象转换成Json字符串
jsonStr = gson.toJson(list);
System.out.println(jsonStr);

//创建一个JsonParser
JsonParser parser = new JsonParser();

//通过JsonParser对象可以把json格式的字符串解析成一个JsonElement对象
JsonElement el = parser.parse(str);

//把JsonElement对象转换成JsonObject
JsonObject jsonObj = null;
if(el.isJsonObject())
jsonObj = el.getAsJsonObject();


//把JsonElement对象转换成JsonArray
JsonArray jsonArray = null;
if(el.isJsonArray())
jsonArray = el.getAsJsonArray();


//遍历JsonArray对象
MyField field = null;
Iterator it = jsonArray.iterator();
while(it.hasNext())
JsonElement e = (JsonElement)it.next();
//JsonElement转换为JavaBean对象
field = gson.fromJson(e, MyField.class);
System.out.println(field.getName()+" === "+field.getAge());





class MyField
private String name;
private Integer age;

public MyField()


public MyField(String name, Integer age)
super();
this.name = name;
this.age = age;

public String getName()
return name;

public void setName(String name)
this.name = name;

public Integer getAge()
return age;

public void setAge(Integer age)
this.age = age;

以上是关于如何通过gson解析存储的json数组字符串的主要内容,如果未能解决你的问题,请参考以下文章

gson 怎么处理 json数组字符串转list对象

使用gson解析怎么将json字符串解析为数组

Android解析json-Gson使用

gson怎么解析数组和空数组?

cjson数组如何解析

如何使用 Gson 解析 JSON 数组