The use of a alibaba fastjson: jar package for fastjson-1.2.7.jar
Reference: https://www.qingtingip.com/h_229797.html
Thinking: json Since this received data format is: { "list": [{ "tHumidity": 0, "tLightIntensity": 0, "tTemperature": 0, "tSerialNumber": "02001"}, { ". .........]}
I.e., {key: value (value array)}, need to extract the value, type value is JSONArray, then traverse the array of value, and then converted by a strong JSONObject
Whereby the array element read json keys.
JSONObject json= new JSONObject(); JSONArray list = new JSONArray(); BufferedReader br; String jsonStr = null; String jsonStr2 = null; try { br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream())); String line = null; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line); } json= JSONObject.parseObject(sb.toString()); jsonStr = JSONObject.toJSONString(json); list = json.getJSONArray("list"); jsonStr2 = JSONArray.toJSONString(list); } catch (IOException e) { e.printStackTrace(); } System.out.println(json); System.out.println(list); //System.out.println(jsonStr.substring(0,jsonStr.length()-1)); // System.out.println(jsonStr); System.out.println("======================"); // List<MyClass> list = JSONObject.parseArray(jsonStr, MyClass.class); for (int i = 0; i < list.size();i++){ JSONObject object = (JSONObject)list.get(i); // System.out.println(object); Zhongyao zhongyao = new Zhongyao(); zhongyao.setId(UUIDUtil.uuid()); zhongyao.settSerialNumber(object.getString("tSerialNumber")); zhongyao.settTemperature((object.getDouble("tTemperature") == null) ? 0 :object.getDouble("tTemperature")); zhongyao.settHumidity((object.getDouble("tHumidity") == null) ? 0 : object.getDouble("tHumidity")); zhongyao.settLightIntensity((object.getDouble("tLightIntensity") == null) ? 0 : object.getDouble("tLightIntensity")); zhongyao.settSoilTemperature((object.getDouble("tSoilTemperature") == null) ? 0 :object.getDouble("tSoilTemperature")); zhongyao.settSoilHumidity((object.getDouble("tSoilHumidity") == null) ? 0 : object.getDouble("tSoilHumidity")); zhongyao.settSoilPh((object.getDouble("tSoilPh") == null) ? 0 : object.getDouble("tSoilPh")); //(json.getDouble("tSoilPh") == null) System.out.println("+++++++++++++id:"+zhongyao.getId()+"tSerialNumber:"+zhongyao.gettSerialNumber()+ "tTemperature:"+zhongyao.gettTemperature()+"tHumidity:"+zhongyao.gettHumidity()+"tLightIntensity:"+zhongyao.gettLightIntensity() +"tSoilTemperature:"+zhongyao.gettTemperature()+"tSoilHumidity:"+zhongyao.gettHumidity()+"tSoilPh:"+zhongyao.gettSoilPh()); 4. Call Service saved//}// DataService service = new DataServiceImpl(); service.addData(zhongyao); }