java多种方式解析json字符串

  第一种:用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);

原文地址:https://www.cnblogs.com/yangxiong/p/6860788.html