> 웹 프론트엔드 > JS 튜토리얼 > nodejs_node.js에서 URL 문자열 및 쿼리 문자열 변환에 대한 자세한 설명

nodejs_node.js에서 URL 문자열 및 쿼리 문자열 변환에 대한 자세한 설명

WBOY
풀어 주다: 2016-05-16 16:30:14
원래의
1622명이 탐색했습니다.

완전한 URL 문자열에서 "?"(? 제외)부터 "#"(#이 있는 경우)까지 또는 URL 문자열의 끝 부분(#이 없는 경우)을 쿼리 문자열이라고 합니다.

쿼리 문자열 모듈의 구문 분석 메서드를 사용하여 문자열을 객체로 변환할 수 있습니다. 구문 분석 메서드는 다음과 같이 사용됩니다.

querystring.parse(str,[sep],[eq],[옵션]);

str은 변환된 쿼리 문자열을 나타냅니다.

sep. 문자열의 구분 기호, 기본값은 &

입니다.

eq. 이 문자열의 할당 문자, 기본값은 =."="왼쪽이 키이고 오른쪽이 값입니다

options: 객체에 있는 정수 값 유형의 maxKeys 속성을 사용하여 변환된 객체의 속성 수를 지정할 수 있습니다. maxKeys 속성 값을 0으로 설정하면 효과는 not과 동일합니다. maxKeys 사용

코드 복사 코드는 다음과 같습니다.

var querystring=require("querystring");
var str="username=guoyansi&age=40&sex=male";
var res=querystring.parse(str);
console.log("1:%j",res);//1:{"사용자 이름":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!");
console.log("2:%j",res);//2:{"사용자 이름":"guoyansi&age=40&sex=male"}
res=querystring.parse(str,"&");
console.log("3:%j",res);//3:{"사용자 이름":"guoyansi","age":"40","sex":"male"}
str="username=guoyansi!age=40!sex=male";
res=querystring.parse(str,"!");
console.log("4:%j",res);//4:{"사용자 이름":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!","=");
console.log("5:%j",res);//5:{"사용자 이름":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!",":");
console.log("6:%j",res);//6:{"username=guoyansi":"","age=40":"","sex=male":""}
res=querystring.parse(str,"!","=",{maxKeys:2});
console.log("7:%j",res);//7:{"사용자 이름":"guoyansi","age":"40"}

Stringify는 문자열을 쿼리 문자열로 변환하는 형식입니다.

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

코드 복사 코드는 다음과 같습니다.

var querystring=require("querystring");
var res= querystring.stringify({"username":"guoyansi","age":"40","sex":"male"});
console.log(res);//username=guoyansi&age=40&sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"!");
console.log(res);//username=guoyansi!age=40!sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"&",":");
console.log(res);//사용자 이름:guoyansi&age:40&sex:male
res=querystring.stringify({"username":"guoyansi","age":["40","24"]},"&","=");
console.log(res);//username=guoyansi&age=40&age=24

url 모듈에서 구문 분석() 메소드를 사용하여 URL 문자열을 객체로 변환할 수 있습니다. URL 문자열의 내용에 따라 객체가 가질 수 있는 속성과 의미는 다음과 같습니다.

href: 변환된 원본 URL 문자열입니다.
프로토콜: 클라이언트가 요청할 때 사용하는 프로토콜입니다.
슬래시: 프로토콜과 경로 사이에 "//" 구분 기호를 사용합니다.
호스트: URL 문자열의 전체 주소와 포트 번호는 IP 주소 또는 호스트 이름일 수 있습니다.
auth: URL 문자열의 인증 정보 부분.
호스트 이름: URL 문자열의 전체 주소(IP 주소 또는 호스트 이름일 수 있음)
검색: 시작 문자 "?"를 포함하는 Url 문자열의 쿼리 문자열
경로: 쿼리 문자열을 포함한 URL 문자열의 경로입니다.
쿼리: URL 문자열의 쿼리 문자열에 시작 문자 "?"가 포함되어 있지 않거나 쿼리 문자열을 기반으로 변환된 개체(쿼리 속성 값은 구문 분석() 메서드에 사용된 매개 변수에 따라 결정됨) 🎜> 해시: 시작 문자 "#"을 포함하는 URL 문자열의 해시 문자열입니다.

url.parse(urlstr,[parseQueryString]);
urlStr: 변환해야 하는 URL 문자열입니다.
ParseQueryString: 부울 값입니다. 매개변수가 true이면 쿼리 문자열 모듈을 내부적으로 사용하여 매개변수 값이 false이면 변환 작업이 수행되지 않습니다.

코드 복사 코드는 다음과 같습니다.
var url=require("url");
var str="
http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1"; var res=url.parse(str);
console.log(res);

코드 복사 코드는 다음과 같습니다.

{ 프로토콜: 'http:',
슬래시: true,
인증: '사용자:패스',
호스트: '호스트:8080',
포트: '8080',
호스트 이름: 'host',
해시: '#name1',
검색: '?username=sisi&age=24&sex=남성',
쿼리: '사용자 이름=sisi&age=24&sex=남성',
경로명: '/,com/users/user.php',
경로: '/,com/users/user.php?username=sisi&age=24&sex=male',
href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

코드 복사 코드는 다음과 같습니다.

var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(res);

코드 복사 코드는 다음과 같습니다.

{ 프로토콜: 'http:',
슬래시: true,
인증: '사용자:패스',
호스트: '호스트:8080',
포트: '8080',
호스트 이름: 'host',
해시: '#name1',
검색: '?username=sisi&age=24&sex=남성',
쿼리: { 사용자 이름: 'sisi', 나이: '24', 성별: '남성' },
경로명: '/,com/users/user.php',
경로: '/,com/users/user.php?username=sisi&age=24&sex=male',
href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

첫 번째 예와 두 번째 예의 차이점은 파싱의 두 번째 매개변수로, 결과에 다른 쿼리가 발생한다는 점입니다

URL 변환 개체를 URL 문자열로 변환할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(url.format(res));

결과는 다음과 같습니다.

http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1

위 내용은 모두 노드에서 URL 문자열과 쿼리 문자열을 변환하는 내용입니다. 자세히 살펴보면 실제로는 매우 간단합니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿