Go의 JSON에 익숙하지 않은 전인류에게
대상 계층
Go의 JSON 처리 정보
원래 Go는 제이슨을 마음대로 사용할 수 없다.(데이터를 추출할 수 없다는 뜻)
Marshal과 Unmarshal의 차이점을 잘 이해해주세요.
표준고
encoding/json
를 사용하면 강력한 무기인 마스홀, 언마르쉬를 얻을 수 있다.Marshal은 무엇에 쓰입니까
인코딩은 메모리 표현식에서 바이트 표현식으로 전환하는 것을 가리킨다.
※ 여기서 인코딩을 마셜로 바꿉니다.
고 구조체에서 JSON을 제작할 수 있다는 것이다.
type User struct {
Id int
Name string `json:"name"`
Password string `json:"password"`
}
Tarou, err := json.Marshal(User{
Id: 1
Name: "Tarou"
Password: "tatata1111"
})
이 인코딩을 사용하여 JSON을 만들 수 있습니다.하지만 JSON을 만들었다고 해서 Go로 이 데이터를 처리할 수 있는 것은 아니다.
이런 상태
fmt.Println(Tarou)
에서는 의미 불명의 숫자 나열이 나온다.(실제로 이 숫자의 나열은 메모리의 지침을 대표한다.)거기에 나오는 건 아래예요.
Unmarshal
디코딩은 바이트 표시를 메모리 표현식으로 바꾸는 것을 가리킨다.
이 뜻 불명의 숫자의 나열은 고정된 형태로 변한다.
복귀(디코딩)할 때도 Go 구조체가 필요하기 때문에 재사용이 가능하다.
type User struct {
Id int
Name string `json:"name"`
Password string `json:"password"`
}
Tarou, err := json.Marshal(User{
Id: 1
Name: "Tarou"
Password: "tatata1111"
})
var u User
if err := json.Unmarshal([]byte(u), &u); err != nil {
fmt.Println(err)
}
Name := u.Name
Password := u.Password
이렇게 요구할 수 있습니다.여기에는 코드에 대한 자세한 설명이 없고 Unmarshal은 첫 번째 매개변수에 지정된 JSON을 두 번째 매개변수에 지정된 포인터에 저장합니다.
그래서 이번에는 u라는 변수에 JSON의 데이터를 넣었다.
이렇게 말하지만 자세한 상황은 아직 모르니, 학식자가 나에게 교수를 해 줄 수 있다면 정말 좋겠다
결론
많은 글을 썼지만 역시 Go를 쓰게 되어 기쁩니다~
참고 문헌
자기 소개
Reference
이 문제에 관하여(Go의 JSON에 익숙하지 않은 전인류에게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ryuji_cre8ive/articles/12c452bde74f54텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)