>  기사  >  웹 프론트엔드  >  Node.js 쿼리 문자열 쿼리 문자열 자세한 설명

Node.js 쿼리 문자열 쿼리 문자열 자세한 설명

小云云
小云云원래의
2018-02-01 09:16:261455검색

쿼리 문자열 모듈은 URL 쿼리 문자열을 구문 분석하고 형식화하기 위한 API를 제공합니다. 이 기사에서는 Node.js 쿼리 문자열 구문 분석 쿼리 문자열의 관련 내용을 자세히 소개하고 참고 및 연구를 위해 공유하지는 않겠습니다. 자세한 소개는 아래에서 살펴보겠습니다.

1. querystring.parse(str[, sep[, eq[, options]]])

이 API는 URL 쿼리 문자열을 키와 값의 컬렉션으로 구문 분석합니다

  • str:URL 쿼리 문자열

  • sep: 문자열에서 키-값 쌍을 나누는 데 사용되는 기호를 나타냅니다. 기본값은 "&"입니다.

  • eq: 쿼리 문자열에서 키와 값 사이의 기호를 나타내는 데 사용되며, 기본값은 "="입니다.

예는 다음과 같습니다:

const querystring = require('querystring');
const url = require('url');
var queryUrl="http://localhost:8888/bb?name=李浩&memo=helloworld&memo=helloC";
queryUrl=url.parse(queryUrl).query;
console.log(querystring.parse(queryUrl)) ;
----------------------------------------------------
// 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

매개변수가 있는 예:

const querystring = require('querystring');
const url = require('url');
var queryUrl="http://localhost:8888/bb?name==李浩*memo==helloworld*memo==helloC";
queryUrl=url.parse(queryUrl).query;
console.log(querystring.parse(queryUrl,'*','==')) ; 
----------------------------------------------------
// 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

2.querystring.stringify(obj[, sep[, eq[, options]]])

이 API는 주어진 개체에서 URL을 생성합니다. 개체의 "자체 속성"을 순회하는 쿼리 문자열입니다.

  • obj는 주어진 객체입니다.

  • sep은 키-값 쌍 사이의 구분 기호입니다. 기본값은 "&"입니다.

  • eq는 키와 값 사이의 연결 기호이며 기본값은 "="

예제는 다음과 같습니다.

const qs=require("querystring");
var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }
console.log(
 qs.stringify(obj)
)
/* 
 输出 name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC;
 API默认是对中文进行了编码,下面我们再说编码解码的API
*/

매개변수가 있는 예:

const qs=require("querystring");
var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }
console.log(
 qs.stringify(obj,'@','==')
)

출력 이름==%E6%9D%8E%E6%B5%A9@memo==helloworld@memo==helloC;

믿습니다 읽어보세요 매개변수를 사용하는 것과 사용하지 않는 것의 차이점을 아셨나요?

3. querystring.unescape(str)

이 API는 URL 쿼리 문자열의 URL을 디코딩합니다. 위의 경우 중국어가 인코딩된 다음 URL의 중국어 문자도 인코딩된 형식으로 구문 분석됩니다. 이 API는 일반적으로 querystring.parse()와 함께 사용됩니다.

인코딩된 중국어 문자가 포함된 위의 URL 쿼리 문자열을 다음과 같이 사용하겠습니다. an example

예제는 다음과 같습니다.

const qs = require("querystring");
var url = "name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC"
var normalStr = qs.unescape(url)
console.log(
 qs.parse(normalStr)
)
//输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

4. querystring.escape(str)

이 API는 querystring.unescape(str)의 역연산과 동일하며, 쿼리스트링과 함께 사용되는 경우가 많습니다. stringify()

var obj = { name: '李浩', memo: ['helloworld', 'helloC'] };
console.log(
 qs.escape(
  qs.stringify(obj)
 )
)
// 输出 name%3D%25E6%259D%258E%25E6%25B5%25A9%26memo%3Dhelloworld%26memo%3DhelloC
//连同&和=一起编码了

관련 권장 사항:

NodeJS의 queryString 소개 공유

js_javascript 기술을 사용하여 QueryString을 얻는 방법 요약

node.js_node에서 querystring.parse 메서드 사용에 대한 지침. js

위 내용은 Node.js 쿼리 문자열 쿼리 문자열 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.