1、先引入 jar
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
2、使用实例
/**
* anyMatch()里接收一个返回值为boolean类型的表达式,只要返回true就会终止循环,这样可以将业务逻辑写在返回判断结果前
* @param phoneInfo
*/
public void savePhoneInfo(PhoneInfoVO phoneInfo) {
String phone = phoneInfo.getPhone();
List<PhoneInfoDTO> list = phoneInfoDao.getPhoneInfosByPhone(phone);
if (list.size() == 0){
phoneInfoDao.savePhoneInfo(phoneInfo);
return;
}
JSONObject json = dealDate(list,phoneInfo.getSystemModel());
if (!json.getJSONArray("systemModels").contains(phoneInfo.getSystemModel())){
phoneInfoDao.savePhoneInfo(phoneInfo);
return;
}
if (!json.getString("appVersion").equals(phoneInfo.getAppVersion()))
phoneInfoDao.editPhoneInfo(phoneInfo);
}
private JSONObject dealDate(List<PhoneInfoDTO> list,String systemModel) {
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
String appVersion = "";
for (PhoneInfoDTO phoneInfoDTO:list){
jsonArray.add(phoneInfoDTO.getSystemModel());
if (phoneInfoDTO.getSystemModel().equals(systemModel))
appVersion=phoneInfoDTO.getAppVersion();
}
jsonObject.put("systemModels",jsonArray);
jsonObject.put("appVersion",appVersion);
return jsonObject;
}