由于最后一个问题被标记为重复,因此必须重新执行此操作。但是"复制"问题是关于json解码不编码和添加到文件。我在我的问题中也说过我尝试过的事情,因为它恰好是“重复”的接受答案。
如果没有实际检查,请不要再次标记为重复。
当我尝试使用一些生成的JSON数据创建文件时,结果如下:
"{\"1\":{\"title\":\"Sidemen: The Book\",\"ISBN\":\"1473648165\"
正如您所看到的,它已将所有内容包装在""引用""
它还增加了很多:&#39; \ <#; 我不想要的。
这就是我目前所拥有的:
$json = json_encode($BookList);
我用PHP创建文件:
$fp = fopen($filename, 'w');
fwrite($fp, json_encode($json));
fclose($fp);
我试过了:
$json = json_encode($BookList, JSON_UNESCAPED_SLASHES);
和
$json = json_encode($BookList, JSON_UNESCAPED_SLASHES);
$json_edited = stripslashes($json);
但似乎没有任何效果。
有什么想法吗?
更新
书籍清单的生成如下:
$BookList[++$id] = [
'title' => (string) $item->ItemAttributes->Title,
'ISBN' => '' .(string) $item->ItemAttributes->ISBN
];
答案 0 :(得分:5)
您对数据进行了双重编码,例如,将其传递json_encode
两次。
$json = json_encode($BookList, JSON_UNESCAPED_SLASHES);
// -----^^^^^^^^^^^
以及
fwrite($fp, json_encode($json));
// ---------^^^^^^^^^^^
您只需一个。