반응형
구조체에 대한 JSON 문자열 구문 분석 방법
있습니다struct
요청의 값은 옵션입니다.
type Request struct {
Operation string `json:"operation"`
Key string `json:"key"`
Value string `json:"value"`
}
그리고 json 문자열을 structure로 해석하는 함수^
go func() {
s := string("{'operation': 'get', 'key': 'example'}")
data := Request{}
json.Unmarshal([]byte(s), data)
log.Printf("Operation: %s", data.Operation)
}
어떤 이유에서인지 데이터입니다.작업이 비어 있습니다.여기 뭐가 잘못됐나요?
두 가지 문제가 있습니다. 첫째, json이 유효하지 않습니다."
대신'
둘째, 당신은 마샬을 풀어야 한다.&data
하지 않다data
https://play.golang.org/p/zdMq5_ex8G
package main
import (
"fmt"
"encoding/json"
)
type Request struct {
Operation string `json:"operation"`
Key string `json:"key"`
Value string `json:"value"`
}
func main() {
s := string(`{"operation": "get", "key": "example"}`)
data := Request{}
json.Unmarshal([]byte(s), &data)
fmt.Printf("Operation: %s", data.Operation)
}
참고로 오류를 체크하고 있었다면 다음과 같이 표시됩니다.
s := string("{'operation': 'get', 'key': 'example'}")
err := json.Unmarshal([]byte(s), data)
if err != nil {
fmt.Println(err.Error())
//json: Unmarshal(non-pointer main.Request)
}
err := json.Unmarshal([]byte(s), &data)
if err != nil {
fmt.Println(err.Error())
//invalid character '\'' looking for beginning of object key string
}
언급URL : https://stackoverflow.com/questions/47270595/how-to-parse-json-string-to-struct
반응형
'programing' 카테고리의 다른 글
테이블스페이스의 빈 공간 찾기 (0) | 2023.02.22 |
---|---|
jAjax를 통해 Wordpress 페이지 로드 쿼리 (0) | 2023.02.22 |
pymongo.pymongo.pymongo.matCursorNotFound: 커서 ID '...'이(가) 서버에서 유효하지 않습니다. (0) | 2023.02.22 |
스프링 부트 2.1에서 Data Source bean 덮어쓰기 (0) | 2023.02.22 |
AJP 커넥터가 secretRequired="true"로 구성되어 있지만 2.2.5로 업그레이드한 후 비밀 속성이 null 또는 ""입니다. (0) | 2023.02.22 |