一。将前台传入的json字符串进行处理
private List<SRepairDemandObj> convertJStringToList(String SDemandObjs) {
JSONObject jsonObj = new JSONObject(SDemandObjs);
JSONArray jsonArr = (JSONArray) jsonObj.get("demandObjs");
List<SRepairDemandObj> sDemandObjList = new ArrayList<SRepairDemandObj>();
if (jsonArr == null || jsonArr.length() == 0) {
return null;
}
java.sql.Date createDate = new java.sql.Date(System.currentTimeMillis());
//遍历传过来的json对象数组,取出值转换后置入对象,对象再置入list
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject demandJObj = jsonArr.getJSONObject(i);
SRepairDemandObj dObj = new SRepairDemandObj();
if (demandJObj.getString("repairObjidStr") == null || demandJObj.getString("repairObjidStr").length() == 0) {
String uid = UUID.randomUUID().toString().replaceAll("-", "");
dObj.setRepairObjid(uid);
} else {
dObj.setRepairObjid(demandJObj.getString("repairObjidStr"));
}
dObj.setRepairName(demandJObj.getString("repairNameStr"));
dObj.setMachineType(demandJObj.getString("machineTypeStr"));
dObj.setRepairNum(Double.parseDouble(demandJObj.getString("repairNumStr")));
dObj.setRepairRequest(demandJObj.getString("repairRequestStr"));
dObj.setExpectPrice(Double.parseDouble(demandJObj.getString("expectPriceStr")));
// dObj.setCreateDt(createDate);
// dObj.setUpdateDt(createDate);
dObj.setDeFlag("1");
sDemandObjList.add(dObj);
}
return sDemandObjList;
}
二.在后台处理发向前台的json(几个通用函数)
1.
public static String getObjectJson(Object object){
if(object==null){
return getErrorJson("object is null");
}
try{
String objStr = JSONObject.fromObject(object).toString();
return "{\"result\":1,\"data\":"+objStr+"}";
}catch(Exception e){
e.printStackTrace();
return "";
}
}
2.
public static String getObjectJson(Object object,String objectname){
if(object==null){
return getErrorJson("object is null");
}
try{
String objStr = JSONObject.fromObject(object).toString();
return "{\"result\":1,\""+objectname+"\":"+objStr+"}";
}catch(Exception e){
e.printStackTrace();
return "";
}
}
3.
public static String getListJson(List list){
if(list==null){
return getErrorJson("list is null");
}
String listStr = JSONArray.fromObject(list).toString();
return "{\"result\":1,\"data\":"+listStr+"}";
}
三,前台处理接受到的json字符串(使用ajax对success参数进行处理)
success:function(result){
if(result.result==1){
$("#ana_tab").html("");
var jsonBody = "";
for(var i=0;i<(result.data.length);i++){
if(i<15){
var a = result.data[i].name;
jsonBody+="<li datav='"+goods+"'>"+result.data[i].name+"</li>";
}
}
$("#ana_tab").append(jsonBody);
$("#ana_tab").find("li:first").addClass("active");
}else{
alert(result.message);
}
}
四。前台处理发送到后台的json
var json = "{\"distribute\":[";
$('#xdTable tbody tr').each(function(i){
var inputs = $(this).find('td:last').children('input');
if(inputs.length < 2){
return true;//这里的作用相当于continue
}
var objId = inputs.eq(0).val();
var mount = inputs.eq(1).val();
var maxAmount = inputs.eq(2).val();
if(mount=="" || isNaN(mount) ){
hasExc = true;
return false;//这里相当于break
}
if(mount < 0 || parseFloat(mount) > parseFloat(maxAmount)){
hasExc = true;
return false;//这里相当于break
}
sumAmount+=parseFloat(mount);
json+=("{\""+"objId"+"\":\""+objId+"\",");
json+=("\"mount\":\""+mount+"\"},");
});
json = (json.replace(/,$/,""))+"]}";