Практика на JSON в Go
Дана структура:
type Book struct {
Title string `json:"title"`
Pages int `json:"pages"`
}
Соберите текст для книги с названием
"go" и 100 страницами,
выведите его и проверьте ошибку.
Дана строка:
text := []byte(`{"title":"api","pages":50}`)
Разберите text в Book
из предыдущей задачи и выведите
название и число страниц.
Даны типы:
type Head struct {
Ver int `json:"ver"`
}
type Doc struct {
Head Head `json:"head"`
Tags []string `json:"tags"`
}
Соберите текст для документа с версией
1 и тегами "a" и "b",
затем выведите результат.
Дана строка:
text := []byte(`{"head":{"ver":2},"tags":["x"]}`)
Разберите текст в Doc из
предыдущей задачи и выведите версию
и длину среза тегов.
Дана структура:
type Stat struct {
Name string `json:"name"`
Count int `json:"count,omitempty"`
Extra map[string]int `json:"extra"`
}
Соберите текст для значения с именем
"run", нулевым счетчиком и
картой "k" равной 3;
скажите, будет ли ключ "count".
Дана строка:
text := []byte(`{"name":"loop","extra":{"a":1,"b":2}}`)
Разберите text в Stat,
снова соберите текст из полученного
значения и сравните ключи с исходной
строкой.