url字符串和对象之间的转换

这里会涉及两个需求,有时候,我们想将获得的url字符串按键值对的形式保存成一个对象,用location.search获得url参数字符串,这里不考虑location.pathname和location.hash。

url字符串对象化

 1 var urlToObj = function (){
 2    var search = this.replace(/^\s+|\s+$/, ‘‘).match(/([^?#]*)(#.*)?$/);
 3     if( !search ){
 4         return {};
 5     }
 6
 7     var searchHash = search[1].split(‘&‘);
 8     var obj = {};
 9
10     for(var i = 0, len = searchHash.length; i<len; i++){
11          var pair = searchHash[i].split(‘=‘);
12          if(pair[0]){
13             var key = decodeURIComponent(pair[0]);
14             var value = pair[1];
15             if(value != undefined ){
16                 value = decodeURICoponent(value);
17             }
18             //这里判断转化后的obj里面有没有重复的属性
19             if( key in obj ){
20                 if( obj [key] != Array ){
21                     //把属性值变为数组,将另外的属性值也存放到数组中去
22                     obj [key] = [obj [key]];
23                 }
24                 obj [key].push(value);
25             }else{
26                  obj [key] = value;
27             }
28          }
29     }
30
31     return obj;
32 };
33
34 //调用可以如下
35  urlToObj.call( location.search );                 

url字符串和对象之间的转换

时间: 2024-10-22 11:00:52

url字符串和对象之间的转换的相关文章

页面传值的方法 和JSON与字符串和对象之间的转换

如何在DateTime对象和字符串对象之间进行转换

分析问题 DateTime对象输出到字符串的使用概率非常高,DateTime结构实现了四个ToString方法,下表列出了四个方法的特性: 方法 说明 ToString() 效果等同于ToString("G")和ToString("G",null) DateTime.ToString(IFormatProvider) 由用户提供的格式化对象来进行格式化 DateTime.ToString(String) 由特定的字符串来表示各种格式 DateTime.ToStrin

如何在String和Byte[]对象之间进行转换

分析问题 字符串和字节数组之间的转换,事实上代表了现实世界信息和数字世界信息之间的转换,要理解其中的机制,需要先了解一下几个概念. 1.比特. 比特(bit)是指一个位,它可以说是计算机内物理保存的最近本单元.现在的计算机体系采用二进制逻辑,即一个基本单元可以保存两种数值:0和1.这是因为0.1机制可以用多种物理系统来表示,例如高电平和低电平.二极管的导通和关闭.磁场的正极和负极等.总之,一个比特就是一个二进制位. 2.字节. 一个字节(byte),在C#中是由8个比特来构成的.它的值可以有一个

速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 获取 http 请求数据 获取 get 数据 和 post 数据 json 字符串与对象之间的相互转换 示例1.获取 http 请求数据http/http1.php <?php /** * 获取 http 请求数据 */ // 通过 $_SERVER 获取相关数据 echo "PHP_SELF : " . $_SERVER['PHP_SELF'] . "<br />"; echo &qu

Java中字符串与日期之间的转换

项目过程中,经常遇到需要字符串格式的日期和Date类型的日期之间的相互转换.使用SimpleDateFormat类,可以方便完成想要的转换. SimpleDateFormat能够实现本地化的时间格式化及转换.从选定一个自定义的模式(pattren)开始,模式由已经定义好的 'A' to 'Z' 及 'a' to 'z'字母组成,也可以在模式中引入文本,但要使用’(单括号)括住.下图就是已经定义好的模式字母表: Letter Date or Time Component Presentation

Java中字节与对象之间的转换

近期公司里面用到了消息队列,而正如我们知道的是消息队列之间的是通过二进制形式的.以下就分享一下java中字节与对象之间的转换. 主要是用到了ByteArrayOutputStream和ObjectOutputStream两个输出流,以及ByteArrayInputStream和ObjectInputStream两个输入流. 废话不多说了,直接上代码吧! /** * @FileName: ByteToObject.java * @Package:com.test * @Description: T

字符串与数字之间的转换

1. itoa itoa是广泛应用的非标准c语言扩展函数,头文件为 #icnlude<stdlib.h> char* itoa(int value,char* string,int radix); #include<iostream> #include<cstdlib> using namespace std; int main(){ int i=15; char str[25]; itoa(i,str,16); cout<<str<<endl;

API--Date-毫秒值和对象之间的转换

java.util 类 Date 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串.Date 中的相应方法已废弃. 月份由从 0 至 11 的整数表示:0 是一月.1 是二月等等:因此

第八篇:使用字符串流对象进行格式转换

前言 字符串流对象有个很实用的功能就是格式转换.比如可以将整数类型的123转换成字符串格式的123,或者反过来.那么具体又是如何实现的?且看下文. 实现思路 对于整数转换成字符串格式,可设s是一个空的字符串流对象,” 整型变量 “存放目标整数.则当执行" s << 整型变量 "后,该整数将转成字符串格式并存进流中.随后代码中使用" s.str() "即可获取到该整数的字符串格式.对于字符串转换成整数格式,亦可设s是一个空的字符串流对象,” 整型变量 “存