第一种:用net.sf.json硬解。缺点:要求字段名称和json字符串中的字段名一样,字段命名会违反驼峰规则,也不利于拓展;
JSONArray jsonArray = JSONArray.fromObject(str);
JSONObject jObj = jsonArray.getJSONObject(0);
User user= (User)jObj.toBean(jObj,User.class);
第二种:用Gson解析json字符串。优点:写法简单,字段名称只要使用@SerializedName注解,皆可以是使对象字段和json一一对应;缺点:解析json数组这样的字符串稍微麻烦点
Gson gson = new Gson();
User user= gson.fromJson(msg, User.class);
解析JSON数组:
List<T> list = gson.fromJson(str, new TypeToken<List<T>>(){}.getType());
第三种:用jackson解析。优点:与Gson解析一样,字段名称可以使用@JsonProperty注解;
ObjectMapper mapper = new ObjectMapper();
User user= mapper.readValue(msg, User.class);