JQueryとPHPを使用してJSONファイルの変更を保存しようとしていますが、JSONを保存するときにPHPスクリプトが文字をエスケープしているようですそれを再び読んでください。ファイルに書き込むときにPHPがJSON文字列をエスケープするのをやめます
私は、次のコードを使用してsave.phpするJSONオブジェクト( '家族')を渡している:そして、save.phpは、次のコード
でarmstrong.jsonするJSONデータを書き込むfunction saveChanges() {
$.ajax({
type: "POST",
url: "save.php",
data: {
data: JSON.stringify(family)
},
success: function(msg){
console.log(data);
}
});
}
を
{\"title\":\"Armstrong\",\"description\":\"The Armstrong Family\",\"patriarchID\":\"id1\",\"latestID\":8,\"members\":[{\"name\":\"Grandad\",\"id\":\"id1\",\"children\":[\"id2\",\"id3\"]},{\"name\":\"Dad\",\"id\":\"id2\",\"children\":[\"id4\",\"id5\",\"id6\",\"id7\"]},{\"name\":\"Uncle\",\"id\":\"id3\"},{\"name\":\"Child\",\"id\":\"id4\"},{\"name\":\"Child\",\"id\":\"id5\"},{\"name\":\"Child\",\"id\":\"id6\"},{\"name\":\"Child\",\"id\":\"id7\"},{\"name\":\"a\",\"id\":\"id8\"}]}{\"title\":\"Armstrong\",\"description\":\"The Armstrong Family\",\"patriarchID\":\"id1\",\"latestID\":9,\"members\":[{\"name\":\"Grandad\",\"id\":\"id1\",\"children\":[\"id2\",\"id3\"]},{\"name\":\"Dad\",\"id\":\"id2\",\"children\":[\"id4\",\"id5\",\"id6\",\"id7\"]},{\"name\":\"Uncle\",\"id\":\"id3\"},{\"name\":\"Child\",\"id\":\"id4\"},{\"name\":\"Child\",\"id\":\"id5\"},{\"name\":\"Child\",\"id\":\"id6\"},{\"name\":\"Child\",\"id\":\"id7\"},{\"name\":\"a\",\"id\":\"id8\"},{\"name\":\"a\",\"id\":\"id9\"}]}{\"title\":\"Armstrong\",\"description\":\"The Armstrong Family\",\"patriarchID\":\"id1\",\"latestID\":10,\"members\":[{\"name\":\"Grandad\",\"id\":\"id1\",\"children\":[\"id2\",\"id3\"]},{\"name\":\"Dad\",\"id\":\"id2\",\"children\":[\"id4\",\"id5\",\"id6\",\"id7\"]},{\"name\":\"Uncle\",\"id\":\"id3\"},{\"name\":\"Child\",\"id\":\"id4\"},{\"name\":\"Child\",\"id\":\"id5\"},{\"name\":\"Child\",\"id\":\"id6\"},{\"name\":\"Child\",\"id\":\"id7\"},{\"name\":\"a\",\"id\":\"id8\"},{\"name\":\"a\",\"id\":\"id9\"},{\"name\":\"a\",\"id\":\"id10\"}]}
すべてのアイデアは、私はそれがESCAPI停止することができますどのように次のようにファイルが書き出されているが
<?php
$data = $_POST["data"];
echo $data;
$filename = 'armstrong.json';
if (is_writable($filename)) {
if (!$handle = fopen($filename, "w")) {
echo "Cannot open file ($filename)";
exit;
}
if (fwrite($handle, parse_json($data)) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($data) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
キャラクター? JSONファイルがこの
{
"title" : "Armstrong",
"description" : "The Armstrong Family",
"patriarchID" : "id1",
"latestID" : 7,
"members" : [
{
"name" : "Grandad",
"id" : "id1",
"children": ["id2","id3"]
},
{
"name" : "Dad",
"id": "id2",
"children": ["id4","id5","id6","id7"]
},
{
"name" : "Uncle",
"id" : "id3"
},
{
"name" : "Child",
"id" : "id4"
},
{
"name" : "Child",
"id" : "id5"
},
{
"name" : "Child",
"id" : "id6"
},
{
"name" : "Child",
"id" : "id7"
}
]
}
ではfopen/fwriteの/ fcloseのを置き換えることができますが、関連になります。http://stackoverflow.com/questions/7417987/slash-appended-to-all- my-posts/7418026#7418026 – arnaud576875
あなたのPHPコードで 'parse_json'とは何ですか?これはphp関数で構築されたものではありません... – Paulpro