php – 将JSON对象写入服务器上的.json文件
发布时间:2020-12-13 17:52:02 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将我的 JSON对象写入服务器上的.json文件.我现在这样做的方式是: JavaScript的: function createJsonFile() { var jsonObject = { "metros" : [],"routes" : [] }; // write cities to JSON Object for ( var index = 0; index graph.getVertici
我正在尝试将我的
JSON对象写入服务器上的.json文件.我现在这样做的方式是:
JavaScript的: function createJsonFile() { var jsonObject = { "metros" : [],"routes" : [] }; // write cities to JSON Object for ( var index = 0; index < graph.getVerticies().length; index++) { jsonObject.metros[index] = JSON.stringify(graph.getVertex(index).getData()); } // write routes to JSON Object for ( var index = 0; index < graph.getEdges().length; index++) { jsonObject.routes[index] = JSON.stringify(graph.getEdge(index)); } // some jQuery to write to file $.ajax({ type : "POST",url : "json.php",dataType : 'json',data : { json : jsonObject } }); }; PHP: <?php $json = $_POST['json']; $info = json_encode($json); $file = fopen('new_map_data.json','w+'); fwrite($file,$info); fclose($file); ?> 它写得很好,信息似乎是正确的,但它没有正确呈现.它出现了: {"metros":["{"code":"SCL","name":"Santiago","country":"CL","continent":"South America","timezone":-4,"coordinates":{"S":33,"W":71},"population":6000000,"region":1}", ……但我期待这个: "metros" : [ { "code" : "SCL","name" : "Santiago","country" : "CL","continent" : "South America","timezone" : -4,"coordinates" : {"S" : 33,"W" : 71},"population" : 6000000,"region" : 1 }, 知道为什么我得到所有这些斜线以及为什么它都在一条线上? 谢谢,
你是双重编码.不需要在JS和PHP中进行编码,只需在一侧进行编码,只需执行一次即可.
// step 1: build data structure var data = { metros: graph.getVerticies(),routes: graph.getEdges() } // step 2: convert data structure to JSON $.ajax({ type : "POST",data : { json : JSON.stringify(data) } }); 请注意,dataType参数表示预期的响应类型,而不是您将数据发送的类型.发布请求将默认以application / x-www-form-urlencoded形式发送. 我认为你根本不需要那个参数.您可以将其减少到: $.post("json.php",{json : JSON.stringify(data)}); 然后(在PHP中)做: <?php $json = $_POST['json']; /* sanity check */ if (json_decode($json) != null) { $file = fopen('new_map_data.json','w+'); fwrite($file,$json); fclose($file); } else { // user has posted invalid JSON,handle the error } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |