/ / napísanie objektu json do súboru .json pomocou javascript a php - php, javascript, json

písanie objektu json na .json súbor pomocou JavaScriptu a php - php, javascript, json

Musím napísať json objekt do súboru .json pomocou javascript a php. Zdá sa, že objekt json uchováva hodnoty správne, ale php súbor sa nezdá, že beží tak, aby sa nič nestalo.

Vďaka.

moja funkcia javascript, ktorá sa volá po kliknutí na tlačidlo:

    function save_crime()
{
//json object, v1, v2, v3 etc are variables whose values are set in a different function
var jsonObject = { "crime" : {  "violence" : {  "violence1" : v1,
"violence2" : v2,
"violence3" : v3
},

"burglary" : {  "burglary1" : b1,
"burglary2" : b2
},

"robbery" :  {  "robbery1" : r1,
"robbery2" : r2
},

"criminal" : {  "criminal1" : c1,
"criminal2" : c2,
"criminal3" : c3
}
}
}



//jQuery to post json object to json.php for writing to json file
$.ajax({
type : "POST",
url : "json.php",
dataType : "json",
data : {
json : JSON.stringify(jsonObject)
}
});

}

php súbor pre písanie do súboru .json:

<?php

$json = $_POST["json"];
$info = json_encode($json);

$file = "crimes.json";
$handle = fopen($file, "w");
fwrite($handle, $info);
fclose($handle);

?>

odpovede:

1 pre odpoveď č. 1

Píšete Reťazec JSON do súboru, nemusíte dekódovať ako jeho reťazec už z časti JS (JSON.stringify(jsonObject)).

Stačí to napísať priamo.

file_put_contents("crimes.json",  $_POST["json"]);

Je lepšie dostať odpoveď zo servera, aby ste vedeli, že akcia je vykonaná správne. Použi $.post skratku namiesto $.ajax.

$.post(
"json.php",
{
json : JSON.stringify(jsonObject)
},
function (data, textStatus, jqXHR){
}
);