我有一个巨大的.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做到这一点?这些行完全是这样的,所以如果有必要,我可以阅读每一行。
答案 0 :(得分:0)
除非您在TXT文件中的格式是可以由PHP函数解析为对象的真实格式,否则您将需要从头开始编写解析器。它将涉及一个逐行读取的循环,一些IFs语句和正则表达式。
然后,您可以构建包含哈希和列表的哈希。
然后您可以使用json_encode($ myhash)将此哈希转换为JSON字符串。