Задать вопрос
  • Как распарсить json вложенных структур?

    @sciomenihilscire
    Если вы хотите иметь доступ к полям вложенной структуры не указывая названия самой вложенной структуры, тогда вам нужно встроить их в итоговую, а не объявлять одно в другом.
    type Two struct {
    		Two1 string `json:"two_1"`
    		Two2 string `json:"two_2"`
    	}
    
    	type One struct {
    		One1 string `json:"one_1"`
    		One2 string `json:"one_2"`
    	}
    
    	type list struct {
    		One `json:"one"`
    		Two `json:"two"`
    	}
    	
    	
    	data := `[{"one" : { "one_1": "j_1", "one_2": "j_2" }, "two" : { "two_1": "r_1", "two_2": "r_1"}}, {"one" : { "one_1": "j_1", "one_2": "j_2" }, "two" : { "two_1": "r_1", "two_2": "r_1"}}]`
    
    	var lists []list
    	if err := json.Unmarshal([]byte(data), &lists); err != nil {
    		println(err.Error())
    	}
    
    	for _, v := range lists {
    		fmt.Printf("%+v", v.One1)
    		fmt.Printf("%+v", v.Two2)
    	}


    Типа такого
    Ответ написан
    Комментировать