JSON文件大约是15.000行,最大嵌套级别为7.在大约15次检查后,Schema::table('my_table', function ($table) {
$table->string('my_new_column');
});
需要1.4到2.1秒。我已经手动将JSON文件转换为PHP文件,并在其周围添加了一个额外的数组,前面有一个json_decode()
。阅读和处理现在需要0.03秒。
示例JSON文件:
return
所需的PHP文件:
{
"lvel1": {
"level2": {
"level3": [
1,
85151,
895151,
]
}
}
}
有更简单的方法吗?结果没有产生任何结果,因为它总是归结为将JSON转换为数组PHP"。
答案 0 :(得分:1)
$json = '...';
$arr = json_decode($json, true);
$phpOutput = 'return ' . var_export($arr, true);
答案 1 :(得分:1)
您可以使用var_export生成类似PHP的代码来写入文件,以防止手动将JSON转换为php。
例如
<?php
$array = [
'a', 'b', 'c', 'd'
];
// This bit just creates an example json file to read
// a bit like you have in your example, but smaller
$json = json_encode($array);
file_put_contents('data.json', $json);
// Let's read it again just to show how to retrieve it
$retrieved = file_get_contents('data.json');
// Make it into a PHP array
$newArray = json_decode($retrieved);
var_export($newArray, true);
// Save it into a php file with a return and a ;
file_put_contents('data.php', "return {$phpArray};");
然后data.php包含
return array (
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
);