programing

express 4.0에서 'extended'는 무엇을 의미합니까?

randomtip 2023. 8. 9. 23:45
반응형

express 4.0에서 'extended'는 무엇을 의미합니까?

저는 앱에서 익스프레스와 바디 파서를 사용하고 있습니다.

app.use(bodyParser.urlencoded({ extended: false }));

하지만 express 4.0에서 'extended'는 무엇을 의미합니까?

나는 이걸 발견했어.

extended - parse extended syntax with the qs module.

하지만, 저는 여전히 그것이 무엇을 의미하는지 이해할 수 없습니다.

한다면extended이라false"임의 객체"를 게시할 수 없습니다.

person[name] = 'cw'

// Nested Object = { person: { name: cw } }

한다면extended이라true당신은 당신이 원하는 어떤 방법이든 할 수 있습니다.

언제extended속성을 로 설정하면 URL 인코딩 데이터가 qs 라이브러리로 구문 분석됩니다.

반대로,

언제extended속성을 로 설정하면 URL 인코딩 데이터가 쿼리 문자열 라이브러리로 구문 분석됩니다.


Qs 라이브러리를 사용한 구문 분석과 쿼리 문자열 라이브러리를 사용한 구문 분석의 차이점

  • qs 라이브러리를 사용하면 쿼리 문자열에서 중첩된 개체를 만들 수 있습니다.

      var qs = require("qs")
      var result = qs.parse("person[name]=bobby&person[age]=3")
      console.log(result) // { person: { name: 'bobby', age: '3' } }
    
  • 쿼리 문자열 라이브러리는 쿼리 문자열에서 중첩된 개체를 만드는 것을 지원하지 않습니다.

      var queryString = require("query-string")
      var result = queryString.parse("person[name]=bobby&person[age]=3")
      console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    

  • qs 라이브러리가 쿼리 문자열에서 '?'를 필터링하지 않습니다.

      var qs = require("qs")
      var result = qs.parse("?a=b")
      console.log(result) // { '?a': 'b' }
    

  • 쿼리 문자열 라이브러리가 쿼리 문자열에서 '?'를 필터링합니다.

      var queryString = require("query-string")
      var result = queryString.parse("?a=b")
      console.log(result) // { a: 'b' }
    

app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded

자세한 내용은 Leonid Beschastny의 답변을 참조하여 npm이 qs와 query-string을 비교할 수 있습니다.

본문-파서 문서:

구문 분석된 데이터를 포함하는 새 본문 개체는 미들웨어 다음에 요청 개체(예: requ.body)에 채워집니다.이 개체에는 키-값 쌍이 포함됩니다. 여기서 값은 문자열이나 배열(확장이 거짓인 경우) 또는 모든 유형(확장이 참인 경우)일 수 있습니다.

그리고.

확장 옵션을 사용하면 쿼리 문자열 라이브러리(false인 경우)를 사용하여 URL 인코딩 데이터를 구문 분석하거나 Qs 라이브러리(true인 경우)를 선택할 수 있습니다.확장된 구문을 사용하면 풍부한 개체와 배열을 URL 인코딩 형식으로 인코딩할 수 있으므로 URL 인코딩을 통해 JSON과 같은 환경을 경험할 수 있습니다.자세한 내용은 qs 라이브러리를 참조하십시오.

기본적으로 확장을 사용하면 전체 개체를 구문 분석할 수 있습니다.

본문 구문 분석기:인코딩된 URL

언급URL : https://stackoverflow.com/questions/29960764/what-does-extended-mean-in-express-4-0

반응형