我想要一个更加整合的json格式

时间:2018-03-10 06:08:36

标签: php arrays json

我在获取应用查询逻辑后得到了json数组。

[
    {
        "id": "3",
        "diag_name": "LT Diagnostics",
        "test_name": "Alk PO4",
        "booking_date": "2018-05-20"
    },
    {
        "id": "3",
        "diag_name": "LT Diagnostics",
        "test_name": "CRP",
        "booking_date": "2018-05-20"
    },
    {
        "id": "4",
        "diag_name": "Seepz Diagnostics",
        "test_name": "Alk PO4",
        "booking_date": "2018-05-21"
    }
]

但是我想要一个更合理的json数组写在下面。

[
    {
        "diag_name": "LT Diagnostics",
        "test_name": [
            {
                "id": "3",
                "name" : "Alk PO4"
            },
            {
                "id": "3",
                "name" : "CRP"
            }
        ],
        "booking_date": "2018-05-20"
    },
     {
        "diag_name": "Seepz Diagnostics",
        "test_name": [
            {
                "id": "4",
                "name" : "Alk PO4"
            }
        ],
        "booking_date": "2018-05-21"
    },

]

我没有得到它,如何在PHP中做。我想要一个更加整合的json格式。

2 个答案:

答案 0 :(得分:0)

您是否尝试过将diaql_name和booking_date更改为SQL查询?这将是我用来获取外部数据的第一步。

以您嵌套的方式格式化数据可能是您正在使用的任何记录序列化程序的函数 - 它是否支持嵌套JSON作为返回类型,或者仅支持平面JSON作为示例返回值?

如果记录集 - > JSON序列化程序只返回平面数据,上面的注释是正确的,您必须编写自己的格式化程序来自行更改JSON的形状...

这个问题的接受答案可能会有所帮助:

Create multi-level JSON with PHP and MySQL

答案 1 :(得分:0)

我不是一个PHP人,但这是通过monad Map使用函数式编程的典型场景。

在线查看我发现this article可以帮助您。

更改数据源输出并不总是(很少确实)是一个可行的选择。

享受编码