【问题标题】:How to get or split some specific json value using PHP如何使用 PHP 获取或拆分某些特定的 json 值
【发布时间】:2018-11-02 06:54:01
【问题描述】:

我设法使用 GuzzleHttp\Clientjson_decode 来从 API 检索 JSON 响应。

查看以下结果:

    [{
        "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;"
    }]


但是现在,我只想获取“DESCRIPTION”中的一些值以便保存在日志文件中,但我不知道如何拆分它。有人可以帮助我如何使用foreach loopfor 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"
        }
    ]
}
]

【问题讨论】:

  • json_decode() 呢?
  • 你可以看看explode函数。

标签: php arrays json laravel-5


【解决方案1】:

我已经用手机编写了这段代码,但我还没有测试过。希望有用。

$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 是您来自 API 的 JSON 响应。

【讨论】:

  • 您的代码几乎是完美的并且非常有用:),但我得到的结果在左引号后有空格,如下所示:{ "NAME": " United States of America", "CODE": " US" }, 我尝试调试它。我在分号 ('; ') 后添加一个空格。但问题是“NAME”参数包含分号:(像这样:{ "NAME": "United States of America;", "CODE": "US" },
  • 酷!有用!我会将此标记为正确答案。感谢您的帮助!
猜你喜欢
  • 2023-04-04
  • 2017-05-08
  • 2019-11-26
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 2015-07-31
  • 2018-01-05
  • 1970-01-01
相关资源
最近更新 更多