Gson实现json转换
程序员文章站
2022-06-15 13:50:35
...
Gson将字符串转换成JsonObject和JsonArray
以下均利用Gson来处理:
1.将bean转换成Json字符串:
public static String beanToJSONString(Object bean) {
return new Gson().toJson(bean);
}
2.将Json字符串转换成对象:
public static Object JSONToObject(String json,Class beanClass) {
Gson gson = new Gson();
Object res = gson.fromJson(json, beanClass);
return res;
}
注:转换后的对象使用前进行强转:例如bean bean1 = (bean)FormatUtil.JSONToObject(json, bean.class);
3.将Json字符串转换成JsonObject对象:
JsonObject returnData = new JsonParser().parse(jsonstr).getAsJsonObject();
4.将JsonArray类型的Json字符串解析成对象方法:
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray Jarray = parser.parse(jstring).getAsJsonArray();
ArrayList<channelSearchEnum> lcs = new ArrayList<channelSearchEnum>();
for(JsonElement obj : Jarray ){
channelSearchEnum cse = gson.fromJson( obj , channelSearchEnum.class);
lcs.add(cse);
}
或者
String json = "[{\"username\":\"test\"},{\"username\":\"test2\"}]";
System.out.println(new JsonParser().parse(json).getAsJsonArray().get(0).getAsJsonObject().get("username").getAsString());
5.获取JsonObject中指定key值对应的JsonArray对象:
String json= "{\"pids\":[\"1\",\"2\",\"3\"]}";
System.out.println(new JsonParser().parse(json).getAsJsonObject().getAsJsonArray("pids").get(0).getAsString());