Вопрос пользователя:
Ответ нейросети:
package main
import ( "encoding/json" "fmt" )
type Data struct {
Class string json:"class"
Name string json:"name"
}
func splitJSONByClass(jsonData []byte) (map[string][]byte, error) { var data []Data err := json.Unmarshal(jsonData, &data) if err != nil { return nil, err }
result := make(map[string][]byte)
for _, d := range data {
jsonData, err := json.Marshal(d)
if err != nil {
return nil, err
}
result[d.Class] = append(result[d.Class], jsonData)
}
return result, nil
}
func main() {
jsonData := []byte([ {"class": "A", "name": "Alice"}, {"class": "B", "name": "Bob"}, {"class": "A", "name": "Alex"}, {"class": "C", "name": "Charlie"} ]
)
result, err := splitJSONByClass(jsonData)
if err != nil {
fmt.Println("Error:", err)
return
}
for class, dataList := range result {
fmt.Printf("Class %s:\n", class)
for _, data := range dataList {
fmt.Println(string(data))
}
}
}
Эта программа принимает JSON-данные, группирует их по параметру "class" и выводит отдельные JSON-списки для каждого класса.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.