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

Функция json.Compact

Функция json.Compact удаляет все лишние пробельные символы (пробелы, табуляции, переводы строк) из JSON-данных, оставляя только необходимые разделители между элементами. В первый параметр функция принимает объект io.Writer, в который будет записан результат, во второй параметр - срез байт []byte с исходными JSON-данными. Функция возвращает ошибку, если исходные данные не являются валидным JSON.

Синтаксис

json.Compact(dst, src)

Пример

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

package main import ( "bytes" "encoding/json" "fmt" ) func main() { prettyJSON := []byte(`{ "name": "John", "age": 30, "city": "New York" }`) var buf bytes.Buffer err := json.Compact(&buf, prettyJSON) if err != nil { fmt.Println("Error:", err) return } fmt.Println(buf.String()) }

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

{"name":"John","age":30,"city":"New York"}

Пример

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

package main import ( "bytes" "encoding/json" "fmt" ) func main() { minifiedJSON := []byte(`{"id":123,"active":true,"tags":["go","json"]}`) var buf bytes.Buffer err := json.Compact(&buf, minifiedJSON) if err != nil { fmt.Println("Error:", err) return } fmt.Println(buf.String()) }

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

{"id":123,"active":true,"tags":["go","json"]}

Пример

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

package main import ( "bytes" "encoding/json" "fmt" ) func main() { invalidJSON := []byte(`{"name": "John", "age": 30,}`) var buf bytes.Buffer err := json.Compact(&buf, invalidJSON) if err != nil { fmt.Println("Error:", err) return } fmt.Println(buf.String()) }

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

"Error: invalid character '}' looking for beginning of object key string"

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

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