Url的参数转变成json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Url的参数转变成json相关的知识,希望对你有一定的参考价值。

参考技术A 首先,你要知道在地址中只会有一个问号‘?’,而‘&’,‘=’肯定是链接参数的,如果参数为‘?’’&’, ‘/’会被替换成‘%2f’之类的。

URL中一些字符的特殊含义,基本编码规则:

l  空格换成加号(+)

l  正斜杠(/)分隔目录和子目录

l  问号(?)分隔URL和查询

l  百分号(%)制定特殊字符

l  #号指定书签

l  &号分隔参数

l  + URL 中+号表示空格 %2B

l  空格 URL中的空格可以用+号或者编码 %20

l  / 分隔目录和子目录 %2F

l  ? 分隔实际的 URL 和参数 %3F

l  % 指定特殊字符 %25

l  # 表示书签 %23

l  & URL 中指定的参数间的分隔符 %26

l  = URL 中指定参数的值 %3D

html URL 编码详见

例子:

<script>

var errorLocation = 'http://localhost/webapp/wcs/stores/servlet/GoalSearchView?guarantee_yearsLeft=6&guarantee=is+still+active&topLevelCategoryId=14051&langId=44&monthNyear=07%2F04%2F2015&bought_month=&cost=23&manufacturer=a+%26+r+alpha&bought_year=&catalogId=10001&ErrorCode=05138&errorMsgInternal=No+Rates+found%0A"eType=new&categoryId=14052&condition=good+working+order&storeId=10151&email=&ddkey=http:DGGetQuote';

var paraString = errorLocation.substring(errorLocation.indexOf('?') + 1,errorLocation.length);

var paraJsonString;

paraJsonString = paraString.replace(/\=/g,"\"\:\"");

paraJsonString = paraJsonString.replace(/\&/g,"\",\"");

paraJsonString = paraJsonString.replace(/\+/g," ");

paraJsonString = paraJsonString.replace(/\%26/g,"&");

paraJsonString = paraJsonString.replace(/\%2F/g,"\/");

paraJsonString = paraJsonString.replace(/\%0A/g,"\:");

paraJsonString = '"' + paraJsonString + '"';

paraJson = JSON.parse(paraJsonString);

console.log(paraJson);

</script>

提取url中参数的方法(转换成json格式)

还是直接上代码吧。

//将url中的参数获取到并抓换成json格式
function serilizeUrl(url){
    var urlObject={};
    //1.正则匹配是不是以?结尾
    if(/\?/.test(url)){
        //substring 截取指定位置的之间的字符串,
        //第一个值是起始下标,第二个可不不写,
        //不写就一直截取到最后
        //2.截取?后面的东西
        var urlString = url.substring(url.indexOf(‘?‘)+1)
        //3.将&去除 加入数组
        var urlArray = urlString.split("&");
        //4.遍历数组
        for(var i=0;i<urlArray.length;i++){
            var urlItem = urlArray[i];
            //再次切割
            var item=urlItem[i].split(‘=‘);
            //赋值
            urlObject[item[0]]=item[1];
        }
        return urlObject;
    }
    //如果没有匹配上就返回空对象
    return null;
}

我的代码注释都比较详细,主要是为了给初学者一个参考。

以上是关于Url的参数转变成json的主要内容,如果未能解决你的问题,请参考以下文章

Base64技术:把对象转变成字符串

ios开发 yymodel可以模型转变成字典吗

请给正规式a(ab)*abb转变成DFA。(提示:先转变成NFA,再用子集法确定化并化简)?

C#WinForm项目怎么转变成WPF项目?

CSIC_716_20191118常用模块的用法 Jsonpicklecollectionsopenpyxl

Json快速转变为类