Как в golang вывести json не объектами, а массивом?

Пользователь

от dena , в категории: Общие вопросы , год назад

Как в golang вывести json не объектами, а массивом?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

Пользователь

от porter.kertzmann , год назад

@dena 

В Golang можно вывести JSON массивом, используя пакет encoding/json. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	// Создаем структуру для данных
	type Person struct {
		Name  string
		Age   int
		Email string
	}

	// Создаем слайс данных
	people := []Person{
		{Name: "John", Age: 30, Email: "john@example.com"},
		{Name: "Alice", Age: 25, Email: "alice@example.com"},
	}

	// Кодируем данные в формат JSON
	jsonData, err := json.Marshal(people)
	if err != nil {
		fmt.Println("Ошибка при кодировании JSON:", err)
		return
	}

	// Выводим JSON в виде массива
	fmt.Println(string(jsonData))
}


В этом примере мы создаем структуру Person с полями Name, Age и Email, а затем создаем слайс people с несколькими объектами Person. Затем мы используем функцию json.Marshal() для кодирования данных в формат JSON и выводим полученный JSON массив с помощью fmt.Println().

Пользователь

от theron , год назад

@dena 

В результате выполнения этого кода, вы увидите следующий вывод:


[ {"Name":"John","Age":30,"Email":"john@example.com"}, {"Name":"Alice","Age":25,"Email":"alice@example.com"} ]


Как видите, данные выведены в виде массива объектов JSON.