gpt4 book ai didi

php - 将 json 对象另存为文件中已解码的 PHP 数组

转载 作者:行者123 更新时间:2023-12-04 10:51:22 24 4
gpt4 key购买 nike

我有一个很大的 json 对象 (174MB) https://www.dropbox.com/s/q3dpubc2emwrnyq/attributes-nodp.json?dl=0

我想将 json 对象保存为文件中的解码关联 PHP 数组,以供以后引用/包含。

<?php $json_data = file_get_contents('attributes-nodp.json'); //This will retrieve your json data as a string
$arr = json_decode($json_data, true); //This will decode your string data into a PHP array; the true parameter makes it an associative array

$file = fopen("/home/kalugi/public_html/wp-content/uploads/wpallimport/files/test/raw_attributes.php", "w");
//This will open a new file raw_attributes.php for writing

//This will write and close the file
fwrite($file , $arr->__toString());
fclose($file );
?>

但是这会引发错误
[23-Dec-2019 12:59:46 UTC] PHP Fatal error:  Uncaught Error: Call to a member function __toString() on array in /home/kalugi/public_html/wp-content/uploads/wpallimport/files/test/write-array-to-file.php:8
Stack trace:
#0 {main}
thrown in /home/kalugi/public_html/wp-content/uploads/wpallimport/files/test/write-array-to-file.php on line 8

然后我尝试了 var_export创建一个可以保存到文件中的字符串,并且不会生成包含任何内容的文件。
<?php
$json_data = file_get_contents('attributes-nodp.json'); //This will retrieve your json data as a string
$arr = var_export(json_decode($json_data, true)); //This will decode your string data into a PHP array; the true parameter makes it an associative array
$file = fopen("/home/kalugi/public_html/wp-content/uploads/wpallimport/files/test/raw_attributes.php", "w");
//This will open a new file raw_attributes.php for writing
//This will write and close the file
fwrite($file, $arr->__toString());
fclose($file);
?>

请指教。

最佳答案

它不起作用,因为您试图在不是具有 __toString 方法的对象(它的关联数组)上调用 __toString 方法。

如果要保存数据的 var_export 输出,则必须通过 true作为第二个参数(返回数据而不是回显数据):

file_put_contents(PATH_TO_FILE, var_export(json_decode($json_data,true),true));

如果您想保存实际数据以备将来使用,那么 IMO 最好解析文件并将其保存到数据库中,或者只保存 JSON 文件并使用它。

关于php - 将 json 对象另存为文件中已解码的 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59455889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com