>백엔드 개발 >Golang >golang에서 JSON 형식의 x-www-form-urlencoded 요청의 중첩된 키-값 쌍 가져오기

golang에서 JSON 형식의 x-www-form-urlencoded 요청의 중첩된 키-값 쌍 가져오기

王林
王林앞으로
2024-02-09 15:15:08529검색

golang에서 JSON 형식의 x-www-form-urlencoded 요청의 중첩된 키-값 쌍 가져오기

golang에서 x-www-form-urlencoded 요청을 JSON 형식으로 처리할 때 중첩된 키-값 쌍이 나타나는 경우가 있습니다. PHP 편집기 Baicao는 모든 사람을 위한 솔루션을 제공합니다. json.Unmarshal 함수를 사용하여 요청 본문을 map[string]interface{} 유형으로 구문 분석한 다음 유형 어설션 및 유형 변환을 통해 중첩된 키-값 쌍의 값을 얻습니다. 이 방법은 간단하고 효과적이며 개발자가 이러한 요청을 쉽게 처리하는 데 도움이 될 수 있습니다. 다음으로 구체적인 구현 단계를 자세히 소개하겠습니다.

질문 내용

아래와 같이 x-www-form-urlencoded본문에 중첩된 키 값을 가져오는 사용 사례가 있습니다

name=abc&age=12&notes[key1]=value1&notes[key2]=value2

노력했지만 url.parsequery("name=abc&age=12&notes[key1]=value1&notes[key2]=value2") 결과는

으아악

위 텍스트에 대해 다음 json 형식의 값을 얻는 방법

으아악

댓글은 3단계 중첩 형식일 수 있습니다

url.parsequeryr.form을 시도했지만 둘 다 notes[key1]notes[key2] 를 제공합니다. >. url.parsequeryr.form 但它们都给出了 notes[key1]notes[key2]

解决方法

要使用这种类型的查询字符串参数名称解​​组嵌套键值,可以使用 derekstavis/go -qs해결 방법

이 유형의 쿼리 문자열 매개변수 이름을 사용하여 중첩된 키 값을 비정렬화하려면 를 사용할 수 있습니다. derekstavis/go -qsmap[string]interface{} 이것은 랙 쿼리 문자열 파서의 포트입니다.

이것은 다음과 같은 중첩된 키 값을 포함하는 age 的值作为字符串返回,但是,这对于 url.parsequery를 반환합니다.

동일하다는 점에 주목할 가치가 있습니다. 이 패키지를 정수로 마샬링해야 하는 경우 분기하고 수정할 수 있습니다.

으아악 전체 예제는 Go Playground에서 확인할 수 있으며 코드는 다음과 같습니다.

놀이터 URL: 🎜https://www.php.cn/link/0fc780bb04e74ce5ed154d2e49cfe2fd🎜 🎜 으아악

위 내용은 golang에서 JSON 형식의 x-www-form-urlencoded 요청의 중첩된 키-값 쌍 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제