JSON序列化为java对象

一. 前台(JS  面向对象)

1. 定义SearchView对象

function  SearchView() {
}
SearchView.prototype.setViewName =  function  (viewName) {
     this .viewName = viewName;
}
SearchView.prototype.setViewType =  function (viewType) {
     this .viewType = viewType;
}
SearchView.prototype.conditionList =  new  Array();//******conditionlist是一个对象数组,注意它的用法
 
SearchView.prototype.setCriteria =  function  (criteria) {
     this .criteria = criteria;//******creteria 也是对象,具体更searchview对象定义类似,注意它的用法
}
 
SearchView.prototype.setTenant =  function (tenant) {
     this .tenant = tenant;
}

2. 把值设进SearchView对象中

var  searchView =  new  SearchView();
     searchView.setViewName(viewName);
     searchView.setViewType(viewType);
     searchView.setCriteria(criteria);
     searchView.setTenant(tenant);
     searchView.conditionList = conditionList;

3. 关于conditionList对象数组定义并设进SearchView对象中:

var  conditionList =  new  Array();
    $.each(conditionList,  function  (index, condition) {
         condition.fieldName = fieldName ;
         condition.operatorTxt = operatorTxt ;
         condition.fieldInfoTxt = fieldInfoTxt ;
         condition.conditionValue =$.trim(condition.conditionValue);
     });
     searchView.conditionList = conditionList;

4. ajax 提交表单到后台,注意红色部分,这是需要JSON序列化string之后提交到后台然后解析为java bean

  $.ajax({
         url:home +  'UserSearchViewAction.do?operation=update' ,
         type: 'POST' ,
         dataType: 'json' ,
         data:{
             'searchView' : JSON.stringify(searchView)//*********注意,需要序列化对象后提交到后台
         },
         success: function  (data) {
           
         }
     });

二、后台

1.定义相应的bean对象

searchView.java

String viewName;
     String viewType;
     List<Condition> conditionList;
     String tenant;
     Criteria criteria;

Condition.java

private String conditionValue;
     private  String fieldName; // field name
     private  String operatorTxt;  //operator value
     private  String fieldInfoTxt; //field value

Criteria.java

  int  viewId;
     String logicType;
     String advanceFilter;
     int  criteriaType;

2.处理传过来的json对象并转换为javabean

  // parse jsonString to SearchView Object
         String searchViewJSON = request.getParameter( "searchView" );
         
         ObjectMapper objectMapper =  new  ObjectMapper();
         SearchView searchView = objectMapper.readValue(searchViewJSON, SearchView. class );

OK  到目前位置,json转换为javabean的例子就做完了,最后展示下json对象实例

{
     "viewName" "t1"
     "viewType" "Dynamic"
     "criteria" : {
         "logicType" "AND"
         "advanceFilter" "1"
     }, 
     "tenant" "DarlenSC"
     "conditionList" : [
         {
             "fieldName" "Active"
             "operatorTxt" "Is not empty"
             "fieldInfoTxt" ""
             "fieldId" "8"
             "conditionValue" ""
             "operation" "ISNOTNULL"
             "conditionOrder" 1
         }
     ]
}














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值