Php json encode online




JSON Encode онлайн - примеры использования

1) ОБЫЧНАЯ СТРОКА:
(JSON UNESCAPED UNICODE выключено)
Ввод:
This tool allows you to encode and decode online arrays, objects, and string (массивы, объекты и строки в json формат).
РЕЗУЛЬТАТ: "This tool allows you to encode and decode online arrays, objects, and string (\u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 json \u0444\u043e\u0440\u043c\u0430\u0442)."
2) МАССИВ:
(printed)
		
Array
(
    [format] => JSON
    [file-type] => HTML
    [code] => ENCODE ONLINE
    [hash] => null
    [generator] => String converter
)
РЕЗУЛЬТАТ: { "format": "JSON", "file-type": "HTML", "code": "ENCODE ONLINE", "hash": "null", "generator": "String converter" }
3) Объект:
(printed)
		
stdClass Object
(
    [type] => value
    [export] => XML to CSV
    [tool] => convert url function
)
РЕЗУЛЬТАТ: { "type": "value", "export": "XML to CSV", "tool": "convert url function" }

Описание функции json_encode()

Функция json_encode() преобразует PHP-значение (массив, объект, строку, число и т.д.) в строку формата JSON.

Синтаксис:

json_encode(mixed $value, int $flags = 0, int $depth = 512): string|false

Параметры:

  • $value - значение для кодирования
  • $flags - битовая маска опций (флагов)
  • $depth - максимальная глубина вложенности

Флаги json_encode() с примерами

<?php
$data = [
    'name' => "Иван",
    'age' => 30,
    'special' => "Разработчик & Тестировщик",
    'skills' => ['PHP', 'JS'],
    'is_active' => true,
    'balance' => 100.5,
    'null_value' => null
];
Основные флаги:
1. JSON_HEX_TAG (с PHP 5.3.0)

Преобразует < и > в \u003C и \u003E

$result = json_encode($data, JSON_HEX_TAG);
// {"name":"Иван","age":30,"special":"Разработчик \u0026 Тестировщик",...}
2. JSON_HEX_AMP (с 5.3.0)

Преобразует & в \u0026

$result = json_encode($data, JSON_HEX_AMP);
// {"special":"Разработчик \u0026 Тестировщик"}
3. JSON_HEX_APOS (5.3.0)

Преобразует ' в \u0027

$data = ["text" => "O'Reilly"];
$result = json_encode($data, JSON_HEX_APOS);
// {"text":"O\u0027Reilly"}
4. JSON_HEX_QUOT (5.3.0)

Преобразует " в \u0022

$data = ["text" => 'He said "Hello"'];
$result = json_encode($data, JSON_HEX_QUOT);
// {"text":"He said \u0022Hello\u0022"}
5. JSON_FORCE_OBJECT (5.3.0)

Принудительно кодирует массивы как объекты

$array = [1, 2, 3];
$result = json_encode($array, JSON_FORCE_OBJECT);
// {"0":1,"1":2,"2":3}
6. JSON_NUMERIC_CHECK (5.3.3)

Преобразует строки, содержащие числа, в числа

$data = ["price" => "100", "quantity" => "5"];
$result = json_encode($data, JSON_NUMERIC_CHECK);
// {"price":100,"quantity":5}
7. JSON_UNESCAPED_SLASHES (PHP 5.4.0)

Не экранирует /

$data = ["url" => "https://example.com/path"];
$result = json_encode($data, JSON_UNESCAPED_SLASHES);
// {"url":"https://example.com/path"}
8. JSON_UNESCAPED_UNICODE (5.4.0)

Не экранирует Unicode-символы

$result = json_encode($data, JSON_UNESCAPED_UNICODE);
// {"name":"Иван","special":"Разработчик & Тестировщик"}
9. JSON_PRETTY_PRINT (5.4.0)

Форматирует JSON с отступами

$result = json_encode($data, JSON_PRETTY_PRINT);
/*
{
    "name": "\u0418\u0432\u0430\u043d",
    "age": 30,
    ...
}
*/
10. JSON_PARTIAL_OUTPUT_ON_ERROR (5.5.0)

Позволяет частичный вывод при ошибках

$data = ["valid" => "data", "invalid" => fopen("php://stdin", "r")];
$result = json_encode($data, JSON_PARTIAL_OUTPUT_ON_ERROR);
// {"valid":"data","invalid":null}
11. JSON_PRESERVE_ZERO_FRACTION (5.6.6)

Сохраняет дробную часть у чисел с плавающей точкой

$data = ["price" => 10.0];
$result = json_encode($data, JSON_PRESERVE_ZERO_FRACTION);
// {"price":10.0}
12. JSON_THROW_ON_ERROR (7.3.0)

Выбрасывает исключение JsonException при ошибке

try {
    $data = ["test" => NAN];
    $result = json_encode($data, JSON_THROW_ON_ERROR);
} catch (JsonException $e) {
    echo "Ошибка: " . $e->getMessage();
}
13. JSON_INVALID_UTF8_IGNORE (7.2.0)

Игнорирует неверные UTF-8 символы

$data = ["text" => "Valid" . "\x80" . "text"];
$result = json_encode($data, JSON_INVALID_UTF8_IGNORE);
// {"text":"Validtext"}
14. JSON_INVALID_UTF8_SUBSTITUTE (7.2.0)

Заменяет неверные UTF-8 символы на

$data = ["text" => "Valid" . "\x80" . "text"];
$result = json_encode($data, JSON_INVALID_UTF8_SUBSTITUTE);
// {"text":"Valid\u{fffd}text"}
15. JSON_UNESCAPED_LINE_TERMINATORS (7.1.0)

Не экранирует символы конца строки

$data = ["text" => "Line1\nLine2"];
$result = json_encode($data, JSON_UNESCAPED_LINE_TERMINATORS);
// {"text":"Line1\nLine2"}

Комбинация флагов
<?php
$data = [
    'name' => "Иван",
    'url' => "https://site.com/page?id=1&sort=desc",
    'price' => "99.99"
];

// Комбинация нескольких флагов
$result = json_encode($data, 
    JSON_UNESCAPED_SLASHES | 
    JSON_NUMERIC_CHECK | 
    JSON_UNESCAPED_UNICODE |
    JSON_PRETTY_PRINT
);

echo $result;
/*
{
    "name": "Иван",
    "url": "https://site.com/page?id=1&sort=desc",
    "price": 99.99
}
*/

Пример с глубиной ($depth)

Параметр $depth ограничивает максимальный уровень вложенности при кодировании.

<?php
// Создаем глубоко вложенную структуру
$deepArray = [];
$current = &$deepArray;

for ($i = 0; $i < 10; $i++) {
    $current['level'] = $i;
    $current['next'] = [];
    $current = &$current['next'];
}

// 1. Кодирование с глубиной 3 (по умолчанию 512)
$result1 = json_encode($deepArray, 0, 3);
echo "Depth 3:\n";
var_dump($result1); // false - слишком глубокая структура
echo "\n\n";

// 2. Кодирование depth:5
$result2 = json_encode($deepArray, 0, 5);
echo "Depth 5:\n";
echo $result2;
/*
{
    "level": 0,
    "next": {
        "level": 1,
        "next": {
            "level": 2,
            "next": {
                "level": 3,
                "next": []
            }
        }
    }
}
*/

// 3. Практический пример с ограниченной глубиной
$data = [
    'user' => [
        'profile' => [
            'personal' => [
                'contacts' => [
                    'email' => 'test@example.com',
                    'phone' => '123456789'
                ]
            ]
        ]
    ]
];

// Глубина 3 - будет закодировано только до уровня 'personal'
$result3 = json_encode($data, JSON_PRETTY_PRINT, 3);
echo "\n\nГлубина 3 (обрезано):\n";
echo $result3;

Обработка ошибок Depth:

<?php
function safe_json_encode($value, $options = 0, $depth = 512) {
    $result = json_encode($value, $options, $depth);
    
    if ($result === false && json_last_error() === JSON_ERROR_DEPTH) {
        return json_encode([
            'error' => 'Превышена максимальная вложенность',
            'max_depth' => $depth
        ], $options);
    }
    
    return $result;
}

$deepData = [];
$temp = &$deepData;
for ($i = 0; $i < 10; $i++) {
    $temp['nested'] = ['level' => $i];
    $temp = &$temp['nested'];
}

echo safe_json_encode($deepData, JSON_PRETTY_PRINT, 5);

Важные замечания:

  1. По умолчанию глубина равна 512
  2. При превышении depth функция возвращает false
  3. Можно комбинировать флаги через оператор |
  4. Для PHP 7.3+ рекомендуется использовать JSON_THROW_ON_ERROR
  5. Для отладки используйте json_last_error() и json_last_error_msg()

JSON Encoder Online tool: Быстрый и надёжный инструмент для разработчиков

Работа с JSON - неотъемлемая часть современной веб-разработки на PHP. Данные для AJAX-запросов, REST API, конфигурационные файлы или обмен информацией между сервисами - везде требуется быстрая и корректная сериализация данных в JSON-формат. Наш онлайн сервис php json_encode создан именно для того, чтобы сделать этот процесс максимально простым, наглядным и безошибочным.

Зачем нужен этот инструмент? Даже опытные разработчики сталкиваются с проблемами при использовании стандартной функции PHP json_encode(). Неожиданные ошибки с кириллицей (кодировка UTF-8), некорректная обработка специальных символов, сложности с отображением многомерных массивов или объектов - всё это отнимает драгоценное время на отладку. Наш сервис позволяет в режиме реального времени преобразовать любой валидный PHP-массив или объект в идеально отформатированную JSON-строку. Просто вставьте ваш PHP-код (например, $data = ['name' => 'Иван', 'age' => 30, 'skills' => ['PHP', 'JSON']];) в специальное поле, и вы мгновенно получите готовый результат: {"name":"\u0418\u0432\u0430\u043d","age":30,"skills":["PHP","JSON"]} с корректно экранированными Unicode-символами.

Ключевые преимущества:

  1. Мгновенная визуализация. Видите и PHP-исходник, и итоговый JSON одновременно.
  2. Поддержка всех опций json_encode() онлайн. Вы можете экспериментировать с флагами, такими как JSON_PRETTY_PRINT для красивого форматирования с отступами, JSON_UNESCAPED_UNICODE для читаемой кириллицы, JSON_NUMERIC_CHECK и другими, понимая их влияние на результат.
  3. Валидация и безопасность. Инструмент работает полностью в вашем браузере. Ваши данные (особенно конфиденциальные массивы) никуда не передаются на сервер, что гарантирует полную конфиденциальность.
  4. Идеально для обучения и отладки. Незаменим для студентов, начинающих разработчиков и профессионалов, которым нужно быстро проверить, как тот или иной массив будет закодирован, или найти ошибку в структуре данных перед отправкой по API.

Этот сервис - не просто «ещё один кодировщик в интернете». Это ваш цифровой песочница для работы с JSON в PHP, который ускоряет разработку, помогает предотвратить ошибки и делает процесс написания кода более понятным. Попробуйте прямо сейчас и убедитесь, насколько это удобно! Экономьте время на рутинных задачах и сосредоточьтесь на главном - создании качественных приложений.

This online service can be used for encoding data in JSON format. You can work with it by providing a URL containing the datum you need to process. The new tool is designed to be simple to use online. For the best results, ensure the URL is valid for the service to work on it. You can save the output of the encoding process to use in your projects. The primary function is to be a reliable encoder for any datum found on the web via its URL. It will be available online to help you save time in your development work.