一. 前台(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. c#操作.mpp文件

    原文地址:http://mjm13.iteye.com/blog/532404 所需设置    在工程中增加引用Microsoft Project 11.0 Object Library,该引用在co ...

  2. mongodb中分页显示数据集的学习

    这次继续看mongodb中的分页.首先依然是插入数据: 1) db.Blog.insert( { name : "Denis",  age : 20, city : "P ...

  3. spring集成 JedisCluster 连接 redis3.0 集群

    最近在公司做了 jedisCluster整合spring 的配置, 分享如下 客户端采用最新的jedis 2.7 1. maven依赖: <dependency> <groupId& ...

  4. c++各类变量汇总

    一.局部变量和全局变量: (1)局部变量:局部变量也叫自动变量,它声明在函数开始,生存于栈,它的生命随着函数的返回而结束. #include <stdio.h> int main(void ...

  5. Java的byte数组

    今天我们讨论一下Java的byte数组.byte数组就是字节数组,每一位存一个字节.看下面程序,猜猜输出多少? package com.wjy.bytes; import java.io.File; ...

  6. Eclipse上运行Python,使用PyDev

    转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/index.html 级别: 初级 郑 伟芳 (zhengwf@c ...

  7. 恢复gvim的ctl+v可视模式设置

    set nocompatiblesource $VIMRUNTIME/vimrc_example.vim"source $VIMRUNTIME/mswin.vim (注释此行)behave ...

  8. dsbskrhkme看么哦么

    http://pan.baidu.com/share/link?shareid=3011665141&uk=338692646&third=15                http ...

  9. 【剑指offer】旋转数组的最小值

    採用二分查找的策略,重点要考虑一些边界情况:旋转了0元素.即输入的是一个升序排列的数组.仅仅包括一个数字的数组.有非常多反复数字的数组等. AC代码: #include<stdio.h> ...

  10. vps自己搭建VPN(转)

    1.购买一个VPS: https://www.pzea.com/North-America-openvz-vps.html 2.下载putty软件,进行vpn安装: http://www.chiark ...