我需要有关如何从文本文件中的数据生成多个JSON文件的帮助。我有一个JSON文件" file1.json"具有以下结构:
{
"level": [
6, 6, 4, 4, 2, 2, 3, 3, 6, 6,
0, 2, 3, 3, 6, 6, 4, 4, 3, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}
我有一个包含类似数据但不是json格式的文本文件,并用一行分隔:
8, 8, 8, 8, 8, 8, 8, 8,
0, 6, 6, 4, 4, 2, 2, 3,
2, 2, 3, 3, 6, 6, 4, 4,
0, 0, 0, 0, 0, 0, 0, 0,
6, 6, 4, 4, 2, 2, 3, 3,
0, 6, 6, 4, 4, 2, 2, 4,
0, 0, 0, 3, 3, 3, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0,
0, 7, 7, 7, 7, 7, 7, 0,
0, 0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0,
我正在寻找一个解决方案来帮助提取数据并以上述格式创建一个json文件,文件名为incremental,如file2.json,file3.json等,但由于我没有找到解决方案超过600个这样的文件来创建。
基于在线搜索,似乎PHP可能会这样做,但我不了解PHP。任何帮助或指出我可能的解决方案将不胜感激。
答案 0 :(得分:0)
未使用foreach循环进行测试,但通过设置$content
静态。
<?
$path = "/path/to/files/";
$files = array_diff(scandir($path), array('..', '.'));
foreach($file in $files)
{
$content = file_get_contents($path . $file, true);
/*
$content = "8, 8, 8, 8, 8, 8, 8, 8,
0, 6, 6, 4, 4, 2, 2, 3,
2, 2, 3, 3, 6, 6, 4, 4,
0, 0, 0, 0, 0, 0, 0, 0,";
*/
$content = preg_replace('/[^\d,]/i', '', $content);
$_content = array_filter(explode(',', $content));
echo json_encode(array('level' => array_values($_content)));
}
?>