Получение значений из многоуровневого JSON

У меня есть json ниже, но я изо всех сил пытаюсь получить значения для ключей, например. TransactionAmount а также ReceiverPartyPublicName,

Пожалуйста, помогите кому-нибудь. Спасибо.

{
"ResultType": "0",
"ResultCode": "0",
"TransactionID": "LIB76ANQYD",
"ResultParameters": {
"ResultParameter": [
{
"Key": "TransactionAmount",
"Value": "750"},
{
"Key": "TransactionReceipt",
"Value": "LIB76ANQYD"},
{
"Key": "ReceiverPartyPublicName",
"Value": "345706611796 - PETER Parr"}
]
},
"ReferenceData": {
"ReferenceItem": {
"Key": "QueueURL",
"Value": "http://xxxxxx"}
}
}

0

Решение

Ты можешь использовать json_decode перебирать ваш массив проверяя правильность Key тогда у вас есть ссылка на Value

Демо-версия: https://3v4l.org/CaPWL

<?php

$json = <<<JSON
{
"ResultType": "0",
"ResultCode": "0",
"TransactionID": "LIB76ANQYD",
"ResultParameters": {
"ResultParameter": [
{
"Key": "TransactionAmount",
"Value": "750"},
{
"Key": "TransactionReceipt",
"Value": "LIB76ANQYD"},
{
"Key": "ReceiverPartyPublicName",
"Value": "345706611796 - PETER Parr"}
]
},
"ReferenceData": {
"ReferenceItem": {
"Key": "QueueURL",
"Value": "http://xxxxxx"}
}
}
JSON;

foreach (json_decode($json, true)['ResultParameters']['ResultParameter'] as $parameter) {
if ($parameter['Key'] === 'TransactionAmount') {
echo 'TransactionAmount: ' . $parameter['Value'] . PHP_EOL;
}
if ($parameter['Key'] === 'ReceiverPartyPublicName') {
echo 'ReceiverPartyPublicName: ' . $parameter['Value'] . PHP_EOL;
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector