Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-将数据转换为有效的json_Php_Json_Validation - Fatal编程技术网

PHP-将数据转换为有效的json

PHP-将数据转换为有效的json,php,json,validation,Php,Json,Validation,我有一个巨大的.txt文件,其中包含以下格式的数据: { "template_id": "prefix_1", "settings": { "setting1": "bla", "setting2": "blub" }, "test": 1, "test": 2, "test": 3 }, { "template_id": "other_prefix_1", "values": { "

我有一个巨大的.txt文件,其中包含以下格式的数据:

{
    "template_id": "prefix_1",
    "settings": {
        "setting1": "bla",
        "setting2": "blub"
    },
    "test": 1,
    "test": 2,
    "test": 3
},
{
    "template_id": "other_prefix_1",
    "values": {
        "value1": "bla",
        "value2": "blub"
    },
    "something": "Hello!"
},
{
    "template_id": "prefix_2",
    "settings": {
        "setting1": "bla",
        "setting2": "blub"
    },
    "test": 1,
    "test": 2,
    "test": 3
}
这看起来像json,但它不是有效的json,我想使它有效。结果应该是这样的:

{
    "prefix": [
        {
            "id": "1",
            "settings": {
                "setting1": "bla",
                "setting2": "blub"
            },
            "tests": [
                "test": 1,
                "test": 2,
                "test": 3
            ]
        },
        {
            "id": "2",
            "settings": {
                "setting1": "bla",
                "setting2": "blub"
            },
            "tests": [
                "test": 1,
                "test": 2,
                "test": 3
            ]
        }
    ],
    "other_prefix": [
        {
            "id": "1",
            "values": {
                "value1": "bla",
                "value2": "blub"
            },
            "something": "Hello!"
        }
    ]
}

当我从txt文件中读取数据时,有人知道如何使用PHP实现这一点吗?这些行与此完全相同,因此如果有必要,我可以读取每一行。

除非TXT文件中的格式是可以由PHP函数解析为对象的真实格式,否则恐怕您需要从头开始编写解析器。它将涉及一个逐行读取的循环、一些IFs语句和正则表达式

然后,您可以构建一个包含哈希和列表的哈希

然后,您可以使用JSON_encode($myhash)将此哈希转换为JSON字符串。

您并不孤单。谷歌:“如何在php中解析无效的json”你可以通过修改别人的代码找到一个快捷方式。删除此问题,因为您尚未尝试任何操作。然后,如果你无法尝试工作(经过适当的研究和实验),那么就把你的问题重新带回到原来的状态。