第一種:用net.sf.json硬解。缺點:要求字段名稱和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數組這樣的字符串稍微麻煩點app
Gson gson = new Gson();
User user= gson.fromJson(msg, User.class);對象
解析JSON數組:字符串
List<T> list = gson.fromJson(str, new TypeToken<List<T>>(){}.getType()); get
第三種:用jackson解析。優勢:與Gson解析同樣,字段名稱能夠使用@JsonProperty註解;class
ObjectMapper mapper = new ObjectMapper();List
User user= mapper.readValue(msg, User.class);map