zoukankan      html  css  js  c++  java
  • url传递json串参数及后台处理【我】

    用url请求向后台传参时,如果参数是一个对象序列成的json传,直接传递会报错,可以用 encodeURIComponent 进行转码【将json中的{}等特殊符号转码】后再传递,java后台基本不用特殊处理。

    js页面跳转:

    window.location.href = ctxPath + '/order/custOperate!toAddCust.action?custJson=' + encodeURIComponent(JSON2.stringify(custObj))

    java后台处理解析:

    package com.test;
    
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSONObject;
    
    public class Json1 {
    
        public static void main(String[] args) {
    
    //        String reqJson = _request.getParameter("reqJson");
            String reqJson = "{"idExpDate":"2099-12-31","partyName":"华夏银行股份有限公司","partyNumber":"BJ2018122110041065","identityType":"2","custTree":{"custTreeTopNodeCode":"100207","controlArea":"","controlAreaTop":"","custTreeTopName":"华夏银行股份有限公司","custTreeNodeCode":"100207","controlDepTop":"13007005","controlTypeTop":"13013001","controlType":"13013001","custTreeName":"华夏银行股份有限公司","controlDep":"13007005"},"orgUscc":"9111000010112001XW","partyCert":[{"certNum":"qazwsxed3","certType":"","partyCertId":"259941363"},{"certNum":"9111000010112001XW","certType":"49","partyCertId":"820108430"}],"industryCd":"DD0302","isAvailable":"1","idEffDate":"1992-10-14","industryTypeId":"177","orgStatusCd":"4","partyId":"259941363","registerAddr":"北京市东城区建国门内大街22号"}";
            JSONObject jsonData = JSONObject.parseObject(reqJson);
            String partyName = String.valueOf(jsonData.get("partyName"));
            List<Map<String, String>> partyCertList = (List<Map<String, String>>) jsonData.get("partyCert");
            for (int i = 0; i < partyCertList.size(); i++) {
                Map partyCertMap = partyCertList.get(i);
                System.out.println(partyCertMap);
            }
        }
    }
    
    /*
    
    {
        "idExpDate": "2099-12-31",
        "partyName": "华夏银行股份有限公司",
        "partyNumber": "BJ2018122110041065",
        "identityType": "2",
        "custTree": {
            "custTreeTopNodeCode": "100207",
            "controlArea": "",
            "controlAreaTop": "",
            "custTreeTopName": "华夏银行股份有限公司",
            "custTreeNodeCode": "100207",
            "controlDepTop": "13007005",
            "controlTypeTop": "13013001",
            "controlType": "13013001",
            "custTreeName": "华夏银行股份有限公司",
            "controlDep": "13007005"
        },
        "orgUscc": "9111000010112001XW",
        "partyCert": [
            {
                "certNum": "qazwsxed3",
                "certType": "",
                "partyCertId": "259941363"
            },
            {
                "certNum": "9111000010112001XW",
                "certType": "49",
                "partyCertId": "820108430"
            }
        ],
        "industryCd": "DD0302",
        "isAvailable": "1",
        "idEffDate": "1992-10-14",
        "industryTypeId": "177",
        "orgStatusCd": "4",
        "partyId": "259941363",
        "registerAddr": "北京市东城区建国门内大街22号"
    }
    
    
    */
  • 相关阅读:
    关于postman与shiro权限验证问题
    springboot对shiro进行mock单元测试
    深入理解spring注解之@ComponentScan注解
    springboot项目启动,但是访问报404错误
    通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
    重装系统后ORACLE数据库恢复的方法
    ORA-03113: end-of-file on communication channel 解决方法
    ORA-03113:通信通道的文件结尾-完美解决方案
    由于Windows和Linux行尾标识引起脚本无法运行的解决
    在cmd命令行中弹出Windows对话框(使用mshta.exe命令)
  • 原文地址:https://www.cnblogs.com/libin6505/p/12144338.html
Copyright © 2011-2022 走看看