querystring은 말 그대로 http 요청에 의해 전달되는 데이터를 일반적으로 구문 분석하는 쿼리 문자열을 의미합니다. 쿼리스트링 모듈은 4가지 메소드만 제공하며, 이 4가지 메소드가 해당됩니다.
이 네 가지 방법은 querystring.parse 및 querystring.stringify, querystring.escape 및 querystring.unescape입니다.
우선, querystring 모듈을 사용하기 전에 이를 요구해야 합니다:
const querystring = require("querystring");
두 번째로, 모듈 아래의 메소드를 사용할 수 있습니다:
1. querystring.parse(str,separator,eq, 옵션)
구문 분석 메서드는 문자열을 객체로 역직렬화합니다.
매개변수:
str은 역직렬화해야 하는 문자열을 나타냅니다.
구분 기호(선택 사항)는 문자열 str을 분할하는 데 사용되는 문자 또는 문자열을 나타냅니다. 기본값은 "&"입니다. 선택사항)은 키와 값을 나누는 데 사용되는 문자 또는 문자열을 나타냅니다. 기본값은 "=";
options입니다. (선택사항) 이 매개변수는 maxKeys 및 decodeURIComponent 두 가지 속성을 설정할 수 있는 개체입니다:
1 . maxKeys: 구문 분석된 키-값 쌍의 최대값을 지정하기 위해 숫자 유형을 전달합니다. 기본값은 1000입니다. 0으로 설정하면 구문 분석된 키 수에 대한 제한이 취소됩니다.
2.decodeURIComponent: %가 포함된 문자열을 구문 분석하는 함수 기본값은 querystring.unescape
입니다. 공식 API 예제에서 gbkDecodeURIComponent 메소드를 사용하면 gbkDecodeURIComponent가 정의되지 않았음을 나타내는 오류가 보고됩니다. 이는 gbkDecodeURIComponent 메소드를 사용하기 전에 정의해야 하기 때문입니다. API에는 Assuming gbkDecodeURIComponent 함수가 이미 존재한다고 쓰여 있습니다. 이 문장은 "gbkDecodeURIComponent 메소드가 이미 존재한다고 가정합니다"라는 의미입니다.
querystring.unescape
。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。
例子1,querystring.parse
querystring.parse("name=whitemu&sex=man&sex=women"); /* return: { name: 'whitemu', sex: [ 'man', 'women' ] } */ querystring.parse("name=whitemu#sex=man#sex=women","#",null,{maxKeys:2}); /* return: { name: 'whitemu', sex: 'man' } */
二、querystring.stringify(obj,separator,eq,options)
stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse
相对。
参数:
obj指需要序列化的对象
separator(可省)用于连接键值对的字符或字符串,默认值为"&";
eq(可省)用于连接键和值的字符或字符串,默认值为"=";
options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:
1.encodeURIComponent:值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为querystring.escape()
。
例子2,querystring.stringify
querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] }); /* return: 'name=whitemu&sex=man&sex=women' */ querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] },"*","$"); /* return: 'name$whitemu*sex$man*sex$women' */
三、querystring.escape(str)
escape可使传入的字符串进行编码
例子3,querystring.escape
querystring.escape("name=慕白"); /* return: 'name%3D%E6%85%95%E7%99%BD' */
四、querystring.unescape(str)
unescape方法可将含有%的字符串进行解码
例子4,querystring.unescape
querystring.unescape('name%3D%E6%85%95%E7%99%BD'); /* return: 'name=慕白' */
querystring这个模块相对的还是比较简单,仅有4个方法。
1、querystring.stringify
序列化;
2、querystring.parse
反序列化;
3、querystring.escape
编码;
4、querystring.unescape
예제 1, querystring.parse
querystring.parse
상대적. 🎜🎜🎜매개변수: 🎜🎜🎜 obj는 직렬화해야 하는 개체를 나타냅니다.🎜🎜 구분 기호(선택 사항)는 키-값 쌍의 문자 또는 문자열을 연결하는 데 사용되며 기본값은 "&";🎜🎜 eq( 선택 사항)은 키와 값을 연결하는 문자 또는 문자열에 사용됩니다. 기본값은 "=";🎜🎜 options입니다. (선택 사항) encodeURIComponent 속성을 설정할 수 있는 객체를 전달합니다: 🎜🎜 1. encodeURIComponent: 값 유형은 안전하지 않은 URL 문자열을 백분율 형식으로 변환할 수 있는 함수입니다. 기본값은 querystring.escape()
입니다. 🎜🎜🎜예제 2, querystring.stringify🎜🎜🎜🎜🎜rrreee🎜🎜Three, querystring.escape(str)🎜🎜🎜escape는 수신 문자열을 인코딩할 수 있습니다. 🎜🎜🎜예 3, querystring.escape🎜🎜🎜 🎜🎜rreee🎜 🎜4. querystring.unescape(str)🎜🎜🎜unescape 메서드는 %🎜🎜🎜예제 4, querystring.unescape🎜🎜🎜🎜🎜rrreee🎜🎜querystring 모듈은 상대적으로 간단하며 4개의 메서드만 있습니다. 🎜🎜🎜 1. querystring.stringify
직렬화;🎜🎜 2. querystring.parse
역직렬화;🎜🎜 3. querystring.escape
인코딩;🎜 🎜 4. querystring.unescape
디코딩;🎜위 내용은 node.js에서 쿼리스트링 모듈 예제 코드를 사용하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!