알 수 없는 형식의 JSON 데이터 비정렬화
제공된 JSON은 특정 패턴을 따릅니다.
{ SUBJECT1: [{Student_Name1: Grade, Student_Name2: Grade, ... , Student_Name3: Grade, timestamp: Timestamp(...)}], SUBJECT2: [{Student_Name4: Grade, Student_Name6: Grade, ... , Student_Name5: Grade, timestamp: Timestamp(...)}] ... SUBJECTN: [{Student_Name1: Grade, Student_Name6: Grade, ... , Student_Name9: Grade, timestamp: Timestamp(...)}] }
목표: JSON으로 반환하기 위해 JSON을 GoLang 구조체로 역마샬링 object.
해결책:
옵션 1: map[string]인터페이스 사용{}
JSON 키는 알 수 없지만 map[string]interface{}를 사용하여 비정렬화할 수 있습니다. payload.
var grades map[string]interface{} err := json.Unmarshal([]byte(jsonString), &grades) fmt.Println(err) fmt.Printf("%#v\n", grades)
옵션 2: 구조체 사용
구조체가 필요한 경우 json:"-" 태그를 사용하여 JSON 마샬링 중에 필드를 무시합니다/ 언마샬링 중입니다.
type GradeData struct { Grades map[string]interface{} `json:"-"` } err := json.Unmarshal([]byte(jsonString), &gradesData.Grades) fmt.Println(err) fmt.Printf("%#v\n", gradesData)
위 내용은 Go에서 알 수 없는 JSON 데이터 구조를 역마샬링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!