天天看點

gson生成jsonobject_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 lcs = new ArrayList();

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());