繁体   English   中英

将 Json 字符串转换为 Json 对象 PHP

[英]Converting Json String to Json Object PHP

我有一个 json 输出作为这个

"data": [
    {
        "id": 1,
        "schedule": "{\"batch\": 1, \"times\": \"18:25:00.000000\"},{\"batch\": 1, \"times\": \"18:25:00.000000\"}"
    }

我想这样显示

"data": [
    {
        "id": 1,
        "schedule": [{"batch": 1, "times": "18:25:00.000000"},
                     {"batch": 1, "times": "18:25:00.000000"}]
    }

我已经尝试了我能想到的一切,希望得到一些帮助

您的输入 JSON 和预期的输出 JSON 都不是格式正确的。 json_decode()在两者上都返回NULL

在不确定您的输入是什么样的(或您想要的输出是什么)的情况下,这里有一个我怀疑是您所追求的东西的演示。 请参阅注释以获取解释。

<?php

// Your input JSON, corrected to well-formed syntax.
$string = '{"data": [
    {
        "id": 1,
        "schedule": "{\"batch\": 1, \"times\": \"18:25:00.000000\"},{\"batch\": 1, \"times\": \"18:25:00.000000\"}"
    }]}';

// Convert into native array.
$array = json_decode($string, TRUE);
// Make 'schedule' an array of the two batches.
$array['data'][0]['schedule'] = json_decode("[{$array['data'][0]['schedule']}]", TRUE);

echo json_encode($array) . "\n";
// {"data":[{"id":1,"schedule":[{"batch":1,"times":"18:25:00.000000"},{"batch":1,"times":"18:25:00.000000"}]}]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM