博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【总结】Json的转换与传递
阅读量:5882 次
发布时间:2019-06-19

本文共 2481 字,大约阅读时间需要 8 分钟。

  • 概要
    项目中常用的json形式数据在前后台实现string与object对象等各种互转相关知识点整理。
  • 前端:Form Data-->Json Object-->Json String:

    jsp片段:

    <form action="" id="jsonForm">

    cd:
    name:

    </form>

    js片段:

    //具有name、value属性,序列化成一个Object对象

    $.fn.serializeObject = function() {

    var obj = {};var arr = this.serializeArray();$.each(arr, function() {    if (obj[this.name]) {        if (!obj[this.name].push) {            obj[this.name] = [ obj[this.name] ];        }        obj[this.name].push(this.value || '');    } else {        obj[this.name] = this.value || '';    }});return obj;

    };

    var jsonForm = $("#jsonForm");

    // json对象转json字符串
    var jsonStr = JSON.stringify(jsonForm.serializeObject());
    alert(jsonStr);

  • 前端:Json String-->Json Object

    js片段:

    jQuery.parseJSON(jsonStr));

  • 前后端:Json Object-->JavaBean:

    js片段:

    // rb须与后台实体变量名称同名

    function getRbJson(){

    var rbJson = {};  rbJson["rb.goodsType"] = "a"; rbJson["rb.goodsCd"] = "b";  return rbJson;

    }

    $(function(){

    $.ajax({        url: "setJsonObject.action",        type: 'POST',        cache: false,        async:false,        data: getRbJson(),        success: function (text) {        },        error: function (jqXHR, textStatus, errorThrown) {           alert(jqXHR.responseText);        }    });

    });

    java片段:

    private RbGoods rb;

    public RbGoods getRb() {

    return rb;

    }

    public void setRb(RbGoods rb) {

    this.rb = rb;

    }

    public String setJsonObject() {

    System.out.println(rb.getGoodsCd());return SUCCESS;

    }

  • 前后端:Json String-->JavaBean:

    js片段:

    var rbStr = {};

    var rbArray = [];
    rbArray.push({goodsCd:'1',goodsName:'che'});
    rbArray.push({goodsCd:'2',goodsName:'chen'});
    rbStr["jsonArrayStr"] = rbArray;
    $.ajax({

    url: "jsonStrToObject.action",   type: 'POST',  cache: false,    async:false,    data: {jsonStr:JSON.stringify(rbArray)}, success: function (text) {},error: function (jqXHR, textStatus, errorThrown) {        alert(jqXHR.responseText);    }

    });

    java片段:

private String jsonStr;public String getJsonStr() {    return jsonStr;}public void setJsonStr(String jsonStr) {    this.jsonStr = jsonStr;}public String jsonStrToObject() {    // String转JSON    JSONArray jsonArray = JSONArray.fromObject(jsonStr);        for(int i = 0; i < jsonArray.size(); i++) {        // JSON转object对象        String JOStr = jsonArray.getString(i);        JSONObject JO = JSONObject.fromObject(JOStr);        RbGoods goods =(RbGoods)JSONObject.toBean(JO, RbGoods.class);        System.out.println(goods.getGoodsCd());    }        return SUCCESS;}function newchePoint(obj) {    return "
\r\n";}
  • 更新ing...

转载地址:http://vfvix.baihongyu.com/

你可能感兴趣的文章
Ubuntu 设置当前用户sudo免密码
查看>>
设置tomcat远程debug
查看>>
android 电池(一):锂电池基本原理篇【转】
查看>>
Total Command 常用快捷键
查看>>
ionic 调用手机的打电话功能
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
1000 加密算法
查看>>
exif_imagetype() 函数在linux下的php中不存在
查看>>
Ruby的case语句
查看>>
Linux的链接文件-ln命令
查看>>
maven的tomcat插件如何进行debug调试
查看>>
table表头固定
查看>>
截取字符串中两个字符串中的字符串
查看>>
spring xml properties split with comma for list
查看>>
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>