Как получить или разделить какое-то конкретное значение JSON с помощью PHP - PullRequest
0 голосов
/ 23 мая 2018

Мне удалось использовать GuzzleHttp\Client и json_decode для получения ответов JSON из API.

См. Результаты ниже:

    [{
        "INDEX": "1",
        "DESCRIPTION": "1; 0; US; United States of America;"
    },
    {
        "INDEX": "2",
        "DESCRIPTION": "1; 0; CN; China;"
    },
    {
        "INDEX": "3",
        "DESCRIPTION": "1; 0; MY; Malaysia;"
    },
    {
        "INDEX": "4",
        "DESCRIPTION": "1; 0; JP; Japan;"
    },
    {
        "INDEX": "5",
        "DESCRIPTION": "1; 0; MX; Mexico;"
    },
    {
        "INDEX": "6",
        "DESCRIPTION": "1; 0; SG; Singapore;"
    }]


Но сейчас я хочу получить только некоторые значения в порядке «ОПИСАНИЕ», чтобы сохранить их в файле журнала, но я не знаю, как их разбить.Может кто-нибудь помочь мне, как разделить его, используя foreach loop или for loop?Или какой-нибудь способ получить результат?

Я просто хочу, чтобы это было так:

[
{
    "CATEGORY" : "COUNTRIES",
    "LISTS" : [
        {
            "NAME": "United States of America",
            "CODE": "US"
        },
        {
            "NAME": "China",
            "CODE": "CN"
        },
        {
            "NAME": "Malaysia",
            "CODE": "MY"
        },
        {
            "NAME": "Japan",
            "CODE": "JP"
        },
        {
            "NAME": "Mexico",
            "CODE": "MX"
        },
        {
            "NAME": "Singapore",
            "CODE": "SG"
        }
    ]
}
]

1 Ответ

0 голосов
/ 23 мая 2018

Я написал этот код для мобильных устройств и не проверял его.Надеюсь быть полезным.

$my_array=json_decode($json,true);
$output=[];
foreach ($my_array as $value)
{
    $explode_array= explode(';',$value['DESCRIPTION']);
    $output[]=[
        'NAME'=>trim($explode_array[3]),
        'CODE'=>trim($explode_array[2])
    ];
}
$target=[
    'CATEGORY'=>'COUNTRIES',
    'LISTS'=>$output
];
var_dump($target);

$json - это ваши JSON ответы от API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...