JSON을 구조체로 구문 분석
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)
func main() {
path := "./obj.json"
jsonFile, err := os.Open(path)
if err != nil {
fmt.Println(err)
}
defer jsonFile.Close()
bytes, _ := ioutil.ReadAll(jsonFile)
var parsed map[string]interface{}
json.Unmarshal([]byte(bytes), &parsed)
fmt.Printf("%#v", parsed)
}
코드를 테스트하려면 다음과 같은 json 파일을 사용할 수 있습니다.
obj.json
{
"prop": "value",
"students": [
{
"name": "John",
"age": "20",
"marks": "80",
"address": {
"city": "New York",
"state": "NY"
}
},
{
"name": "Jane",
"age": "20",
"marks": "90",
"address": {
"city": "New York",
"state": "NY"
}
}
]
}
이 예의 출력은 다음과 같습니다.
map[string]interface {}{"prop":"value", "students":[]interface {}{map[string]interface {}{"address":map[string]interface {}{"city":"New York", "state":"NY"}, "age":"20", "marks":"80", "name":"John"}, map[string]interface {}{"address":map[string]interface {}{"city":"New York", "state":"NY"}, "age":"20", "marks":"90", "name":"Jane"}}}%
지도[문자열]인터페이스 {}{"소품":"값", "학생":[]인터페이스 {}{지도[문자열]인터페이스 {}{"주소":지도[문자열]인터페이스 {}{"도시": "뉴욕", "주":"뉴욕"}, "나이":"20", "마크":"80", "이름":"존"}, 지도[문자열]인터페이스 {}{"주소":map[string]interface {}{"도시":"뉴욕", "주":"뉴욕"}, "나이":"20", "마크":"90", "이름":"제인"}}}%
참고: JSON 개체에 미리 알고 있는 형식이 있는 경우
map[string]interface{}
대신 구조체를 사용할 수 있습니다.저는 DoTenX의 관리자입니다. Golang으로 코딩하거나 배우는 것을 좋아한다면 이 저장소를 살펴보도록 초대합니다.
https://github.com/dotenx/dotenx
Reference
이 문제에 관하여(JSON을 구조체로 구문 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mohsenkamrani/parse-a-json-into-struct-335d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)