从文本文件生成多个json文件

时间:2015-03-30 12:29:55

标签: php json

我需要有关如何从文本文件中的数据生成多个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。任何帮助或指出我可能的解决方案将不胜感激。

1 个答案:

答案 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)));
}
?>