幕布斯7119047
我们平时写的bean类,这个是指定规则的序列化对象,虚拟机认得,你说用json反序列化获取对象,这个规则是后台定的,虚拟机如何认得?而且你说的,很多人一直遍历json字符串,然后一个字段一个字段的封装,超级麻烦,我也不知道他们为什么这么做?不管是解析成object对象还是list数据,我都有自己封装的工具,就两三行代码.如下:private static Gson sGson; public static Gson getGson() { if (null == sGson) { sGson = new Gson(); } return sGson; }/** * 将json字符串转换成一个对象 * * @param jsonStr json字符串 * @param field 字段名 * @param clazz 字节码 * @param <T> 类型 * @return */ public static <T> T getObject(String jsonStr, String field, Class<T> clazz) { JSONObject jsonObject = getJSONObject(jsonStr); T t = getGson().fromJson(jsonObject.optString(field), clazz); return t; } /** * 将json字符串转换成list数据 * * @param json * @param clazz * @param <T> * @return */ public static <T> List<T> getList(String json, Class<T> clazz) { List<T> list = null; list = JSON.parseArray(json, clazz); return list; } /** * 将json字符串转换成jsonObject * * @param jsonStr * @return */ public static JSONObject getJSONObject(String jsonStr) { JSONObject mJson = new JSONObject(); try { mJson = new JSONObject(jsonStr); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return mJson; }这个是我个人的理解,也没有权威的认证过.