以下均利用Gson来处理:
1.将bean转换成Json字符串:
1 2 3 | public static String beanToJSONString(Object bean) { return new Gson().toJson(bean); } |
2.将Json字符串转换成对象:
1 2 3 4 5 | 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对象:
1 | JsonObject returnData = new JsonParser().parse(jsonstr).getAsJsonObject(); |
4.将JsonArray类型的Json字符串解析成对象方法:
1 2 3 4 5 6 7 8 9 10 | 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); } |
或者
1 2 | String json = "[{"username":"test"},{"username":"test2"}]" ; System.out.println( new JsonParser().parse(json).getAsJsonArray().get( 0 ).getAsJsonObject().get( "username" ).getAsString()); |
5.获取JsonObject中指定key值对应的JsonArray对象:
1 2 | String json= "{"pids":["1","2","3"]}" ; System.out.println( new JsonParser().parse(json).getAsJsonObject().getAsJsonArray( "pids" ).get( 0 ).getAsString()); |
via:http://blog.csdn.net/ling125521/article/details/37773501