url地址数据参数转化JSON对象(js三种方法实现)

当我们用get方法提交表单时,在url上会显示出请求的参数组成的字符串,例如:http://localhost:3000/index.html?phone=12345678901&pwd=123123,在服务器端我们要获取其中的参数来进行操作,这种情况下,就要对请求过来的网址进行拆解了。下面将用3种方法实现:

1、js原生方法

思路:先通过split拆解?得到字符串phone=12345678901&pwd=123123   ,然后在通过split拆解&符号左右的字符串,最后再通过split拆解=号左右的字符串即可。

let str = "http://localhost:3000/index.html?phone=12345678901&pwd=123123";
let arr = str.split("?")[1].split("&");   //先通过?分解得到?后面的所需字符串,再将其通过&分解开存放在数组里
let obj = {};
for (let i of arr) {
  obj[i.split("=")[0]] = i.split("=")[1];  //对数组每项用=分解开,=前为对象属性名,=后为属性值
}
console.log(obj);

2、node.js方法之url+queryString

思路:先通过url.parse(str1)获得一个分解url的对象,调用query属性得到字符串:phone=12345678901&pwd=123123  ;然后用querystring.parse()方法来直接转换成JSON对象。

const url = require("url");
const querystring = require("querystring");
let str1 = "http://localhost:3000/index.html?phone=12345678901&pwd=123123";
console.log(querystring.parse(url.parse(str1).query)); 

url.parse()转化分解后的url对象来源:可见query指向了  请求参数的字符串部分。

3、node.js方法之url的解构方法

思路:使用node.js自带的URL构造函数得到。

const {URL} = require("url");
let str1 = "http://localhost:3000/index.html?phone=12345678901&pwd=123123";

let obj1 = new URL(str);   
console.log(querystring.parse(obj1.searchParams.toString()));

原文地址:https://www.cnblogs.com/zhangzhiyong/p/9949641.html

时间: 2024-10-07 03:36:29

url地址数据参数转化JSON对象(js三种方法实现)的相关文章

javascript生成对象的三种方法

/** js生成对象的三种方法*/ // 1.通过new Object,然后添加属性 示例如下: var people1 = new Object(); people1.name = 'xiaohailong01'; people1.age = 31; alert("name:" + people1.name + ", age:" + people1.age); // 2.直接接收json数据生成 var people2 = { name : 'xiaohailon

获取class对象的三种方法以及通过Class对象获取某个类中变量,方法,访问成员

public class ReflexAndClass { public static void main(String[] args) throws Exception { /** * 获取Class对象的三种方式 * 1 Object --> getClass(); * 2 任何数据类型(包括基本数据类型)都有一个静态的class属性 * 3 通过Class类的静态方法:forName(String className)(常用) * * * 注意:在运行期间,一个类,只有一个Class对象产

javascript将字符串转化成json对象的3种方法

在JavaScript中,将字符串转化成json对象可以有3种方法. var str = '{"name":"yanggb", "age":18}'; 1.使用JSON.parse()方法. var json = JSON.parse(str); 2.使用eval()方法. var json = eval("(" + str + ")"); 3.使用new Function()方法. var json =

javascript 显示对象的三种方法

以前发了个调试javascript时显示复杂对象的方法,有同学说为什么不用JSON.stringify(obj) 呢,有同学说用console.log(obj),为搞清楚这个问题,我试验了下这3个方法并做了比较,比较结果见图,代码在下面. 有几点说明下:1.从 ECMAScript 5th Edition 开始,JavaScript 内建了 JSON 对象,不用引js文件.2.alert(JSON.stringify(window)),会报TypeError: cyclic object val

Android中传递对象的三种方法

Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Android中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者Intent中进行传递,也可以将对象转化为JSON字符串,进行传递. 序列化对象可以使用Java的Serializable的接口.Parcelable接口.转化成JSON字符串,可以使用Gson等库. 1.Serializable Model public class Author implement

c#创建Graphics对象的三种方法

方法一.利用控件或窗体的Paint事件中的PainEventArgs 在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgs(PaintEventArgs指定绘制控件所用的Graphics)的一部分,在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用. 例如: //窗体的Paint事件的响应方法 复制代码代码如下: private void form1_Paint(object sender, PaintEventArgs e) { Graphics g

获得request、response对象的三种方法

方法一 //struts获取方法 // HttpServletRequest request = ServletActionContext.getRequest(); //  HttpServletResponse response = ServletActionContext.getResponse(); 方法二 //SpringMvc获取方法 HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolde

Java反射获取class对象的三种方式,反射创建对象的两种方式

Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName 静态方法. 前提:已明确类的全路径名. 第二种,使用 .class 方法. 说明:仅适合在编译前就已经明确要操作的 Class 第三种,使用类对象的 getClass() 方法. 适合有对象示例的情况下 package com.reflection; /** * Created by Liuxd

获取网页URL地址及参数等的两种方法(js和C#)

转:获取网页URL地址及参数等的两种方法(js和C#) 一 js 先看一个示例 用javascript获取url网址信息 <script type="text/javascript"> document.write("location.host="+location.host+"<br>"); document.write("location.hostname="+location.hostname+&