【总结】Json的转换与传递

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

    jsp片段:

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

    cd:<input type="text" id="" name="goodsCd" value="20150904" /><br/>
    name:<input type="text" id="" name="goodsName" value="che"/>

    </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 "<che id=\""+obj.id+
    "\" type=\""+obj.type+"\" value=\"\"/>\r\n";
}

  • 更新ing...

JAVA WEB
java web开发之路

希望加入有意思的开发团队!

190 声望
34 粉丝
0 条评论
推荐阅读
jodconvert的亚子
F项目需要滚动播放视频、文档(Excel/Word...)功能,使用jodconverter将文档转成pdf,结合pdfjs实现。由于个人独立开发,只要结果,故选型自由。后端Spring boot,前端阿里飞冰。可以直接使用jodconverter的starter:

花田土著1阅读 4.3k

「多图预警」完美实现一个@功能
一天产品大大向 boss 汇报完研发成果和产品业绩产出,若有所思的走出来,劲直向我走过来,嘴角微微上扬。产品大大:boss 对我们的研发成果挺满意的,balabala...(内心 OS:不听,讲重点)产品大大:咱们的客服 I...

wuwhs39阅读 4.7k评论 5

封面图
Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft32阅读 27.3k评论 1

一文彻底搞懂加密、数字签名和数字证书!
微信搜索🔍「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍来源:个人CS学习网站:[链接]前言这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视...

编程指北71阅读 33.3k评论 20

安全地在前后端之间传输数据 - 「3」真的安全吗?
在「2」注册和登录示例中,我们通过非对称加密算法实现了浏览器和 Web 服务器之间的安全传输。看起来一切都很美好,但是危险就在哪里,有些人发现了,有些人嗅到了,更多人却浑然不知。就像是给门上了把好锁,还...

边城31阅读 7.1k评论 5

封面图
Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft28阅读 19.2k评论 3

涨姿势了,有意思的气泡 Loading 效果
今日,群友提问,如何实现这么一个 Loading 效果:这个确实有点意思,但是这是 CSS 能够完成的?没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们...

chokcoco19阅读 2k评论 2

希望加入有意思的开发团队!

190 声望
34 粉丝
宣传栏