Как разбить json на ключ-значение в php?

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

от narciso , в категории: PHP , 10 месяцев назад

Как разбить json на ключ-значение в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от magdalen_kub , 10 месяцев назад

@narciso 

В PHP можно использовать функцию json_decode() для разбора JSON-строки и преобразования ее в ассоциативный массив.


Вот простой пример разбора JSON-строки и вывод ее ключей и значений:

1
2
3
4
5
6
7
$jsonString = '{"key1": "value1", "key2": "value2", "key3": "value3"}';
$data = json_decode($jsonString, true); // Второй параметр true указывает на преобразование в ассоциативный массив

foreach ($data as $key => $value) {
    echo "Key: $key, Value: $value
";
}


В этом примере мы передаем JSON-строку $jsonString в функцию json_decode(). Затем используем цикл foreach для обхода полученного массива $data и выводим ключи и значения с помощью оператора echo.


Этот код выведет:

1
2
3
Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3


Таким образом, вы можете получить доступ к каждому ключу и его соответствующему значению в разобранном JSON-объекте.

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

от william_stoltenberg , месяц назад

@narciso 

Для обработки вложенных объектов или массивов в JSON также можно использовать рекурсивный проход по структуре данных. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
$jsonString = '{"name": "John", "age": 30, "address": {"city": "New York", "street": "123 Main St"}, "hobbies": ["reading", "coding"]}';

$data = json_decode($jsonString, true);

function printJsonData($data, $indent = 0) {
    foreach ($data as $key => $value) {
        if (is_array($value) || is_object($value)) {
            echo str_repeat("  ", $indent) . "$key:
";
            printJsonData((array)$value, $indent + 1);
        } else {
            echo str_repeat("  ", $indent) . "Key: $key, Value: $value
";
        }
    }
}

printJsonData($data);


Этот пример демонстрирует функцию printJsonData, которая рекурсивно обходит JSON-данные и выводит их в виде ключей и значений. В результате выполнения этого кода будет выведена структура JSON с учетом вложенных объектов и массивов.