РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1131 of 1593 menu

Функция json.NewEncoder

Функция json.NewEncoder создает новый экземпляр кодировщика JSON, который записывает закодированные данные в указанный поток вывода. В первый и единственный параметр функция принимает объект, реализующий интерфейс io.Writer (например, os.Stdout или bytes.Buffer). Возвращаемое значение предоставляет метод Encode для непосредственной сериализации данных в формат JSON.

Синтаксис

json.NewEncoder(w io.Writer) *json.Encoder

Пример

Давайте закодируем простую структуру в JSON и выведем результат в стандартный вывод:

package main import ( "encoding/json" "fmt" "os" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { p := Person{Name: "John", Age: 30} enc := json.NewEncoder(os.Stdout) err := enc.Encode(p) if err != nil { fmt.Println("Error:", err) } }

Результат выполнения кода:

{"name":"John","age":30}

Пример

Давайте закодируем данные в строку с помощью буфера:

package main import ( "bytes" "encoding/json" "fmt" ) type User struct { ID int `json:"id"` Email string `json:"email"` } func main() { u := User{ID: 1, Email: "user@example.com"} buf := new(bytes.Buffer) enc := json.NewEncoder(buf) enc.Encode(u) res := buf.String() fmt.Println(res) }

Результат выполнения кода:

{"id":1,"email":"user@example.com"}

Пример

Давайте закодируем слайс строк в JSON и сохраним в буфере:

package main import ( "bytes" "encoding/json" "fmt" ) func main() { data := []string{"a", "b", "c", "d", "e"} buf := new(bytes.Buffer) enc := json.NewEncoder(buf) enc.Encode(data) res := buf.String() fmt.Println(res) }

Результат выполнения кода:

["a","b","c","d","e"]

Смотрите также

  • функцию json.NewDecoder,
    которая создает декодер JSON для чтения данных
  • функцию json.Marshal,
    которая сериализует данные в JSON и возвращает байтовый срез
  • функцию json.Unmarshal,
    которая десериализует данные из JSON в структуру Go
  • функцию json.MarshalIndent,
    которая сериализует JSON с отступами для удобочитаемости
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить