一. 前台(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
        }
    ]
}

JSON连载java目的的更多相关文章

  1. Json for Java API学习

    首先声明:本文来个非常多网友的博客,我通过參考了他们的博客,大致的了解了一些项目中经常使用的Json in java 类和方法,以及关于json的个人理解 个人对json的一些简单理解 在近期的学习中 ...

  2. android开发中json与java对象相互转换

    json与java对象的相互转换.(使用com.google.gson) 在Android开发过程中,客户端总是需要从服务器获取数据,包括XML和json格式,目前json格式的数据使用较为普遍,所以 ...

  3. JSONObject.fromObject(map)(JSON与JAVA数据的转换)

    JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 上一篇文章中有这么 ...

  4. json学习系列(8)JSON与JAVA数据的相互转换实例

    一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...

  5. JSON 与JAVA对象之间的转换(转)

    JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换. 一.对普通类型的JSON模式的转换 一 ...

  6. net.sf.json.JSONException: java.lang.NoSuchMethodException

    在尝试将json对象转换为list时候出现了如下错误 Exception in thread "main" net.sf.json.JSONException: java.lang ...

  7. JSON与JAVA数据的相互转换

    http://www.cnblogs.com/linjiqin/archive/2011/09/19/2181408.html import net.sf.json.JSONArray; import ...

  8. JSON和JAVA的POJO的相互转换【转载】

    该类中用用到的jar包:参加文章<使用json-lib进行Java和JSON之间的转换[转载]> import java.util.Collection; import java.util ...

  9. json解析异常 - net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

    注:在项目中, 我使用原生的ajax请求数据的时候, JSONObject没能帮我解析, 当却不给我报错, 我是在junit单元测试中测试的时候, 发现的.发现好多时候, 特别是通过ajax请求, 不 ...

随机推荐

  1. 使用WIX打包客户端程序

    原文:使用WIX打包客户端程序 用WPF为客户做了个小工具,打包的时候发现VS2012居然没有安装项目了,搜了下才知道现在推荐使用WIX来打包了http://wix.sourceforge.net/, ...

  2. 《Nginx文件类型错误解析漏洞--攻击演练》 (转)

    今天看书看到其中提到的一个漏洞,那就是Nginx+PHP的服务器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就会产生一个漏洞.这个配置默认是1的,设为0会导致很多MVC框架(如T ...

  3. Driver 初始化顺序

    Linux系统使用两种方式去加载系统中的模块:动态和静态. 静态加载:将所有模块的程序编译到Linux内核中,由do_initcall函数加载 核心进程(/init/main.c)kernel_ini ...

  4. jquery再体验

    $(function(){ var obj = $("div[id^='channel_'][id$='_left']"); var val = obj.html(); var i ...

  5. Jetty开发指导:Jetty Websocket API

    Jetty WebSocket API使用 Jetty提供了功能更强的WebSocket API,使用一个公共的核心API供WebSockets的服务端和client使用. 他是一个基于WebSock ...

  6. Hibernate主键生成策略简单总结

    数据库表主键的知识点: Generator 为每个 POJO 的实例提供唯一标识. 一般情况,我们使用"native".class 表示采用由生成器接口net.sf.hiberna ...

  7. Java EE (9) -- JDBC & JTA

    Connection接口中定义了5中隔离级别常量 Connection.TRANSACTION_NONE  --  不支持事务 Connection.TRANSACTION_READ_UNCOMMIT ...

  8. HDU1028Ignatius and the Princess III母函数入门

    这个题也能够用递归加记忆化搜索来A,只是因为这题比較简单,所以用来做母函数的入门题比較合适 以展开后的x4为例,其系数为4,即4拆分成1.2.3之和的拆分数为4: 即 :4=1+1+1+1=1+1+2 ...

  9. 谷歌宣布Android auto目前的汽车系统汽车市场的影响

    由于2007年.汽车导航产品已经得到长足的发展.其产品主要用于WinCE制.除了导航功能,通常有收音机,播放光盘.广播SD卡/U音频和视频盘,蓝牙手机,倒车后视功能.由于WinCE微软放弃系统,And ...

  10. Portlet MVC框架

    Portlet MVC框架 16.1. 介绍   Spring不仅支持传统(基于Servlet)的Web开发,也支持JSR-168 Portlet开发. Portlet MVC框架尽可能多地采用Web ...