Php 重建JSON格式

Php 重建JSON格式,php,json,csv,Php,Json,Csv,我有这样的JSON: { live: { "name": "Nik", "age": "22", "car": "car1", "price": "1800" }, live: { "name": "Nik", "age": "22", "car": "car2", "price": "2500" } live: {

我有这样的JSON:

{
    live: {
        "name": "Nik",
        "age": "22",
        "car": "car1",
        "price": "1800"
    },
    live: {
        "name": "Nik",
        "age": "22",
        "car": "car2",
        "price": "2500"
    }
    live: {
        "name": "Nik",
        "age": "22",
        "car": "car3",
        "price": "1980"
    }
}
需要将其转换为:

{
    live: {
        "Nik": {
            "22": {
                "car1": {
                    "price": "1800"
                    },
                "car3": {
                    "price": "2500"
                    },
                "car2": {
                    "price": "1980"
                    }
            }
        }
    }
}
平移每个点以作为阵列进行区分。 为了让您可以像php一样创建:

echo somevar["live"]["Nik"]["22"]["car2"];
这个回报是2500 我怎么能做到

此外,我还有:

live,Nik,22,car1,1800
live,Nik,22,car2,2500
live,Nik,22,car3,1980

您的输入在语法或语义上都无效。您有一个具有三个属性且名称相同的对象。此外,JSON属性名称必须是带引号的字符串

我希望任何合法的JSON解析器都会拒绝这一点


我的建议是重新设计输入格式,使其成为有效的JSON。这比为这种模糊的JSON格式编写自定义解析器要简单得多。

您使用的是什么语言?改进PHP代码的格式echo somevar[live][Nik][22][car2];到目前为止你试过什么吗?那不是JSON。使用验证器:输入和输出数据结构不相等。在输入中,age的父节点是活动的,而在输出中未定义或22。首先将输入数据重新构造为所需的输出,然后可以轻松地重新格式化为JSON。