如何将json模型对象保存到php mysql数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何将json模型对象保存到php mysql数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4557字,纯文字阅读大概需要7分钟。
内容图文
![如何将json模型对象保存到php mysql数据库](/upload/InfoBanner/zyjiaocheng/887/8e27d41d39da4b0a918965a742cc0d53.jpg)
这是我的第一篇文章,因此,如果我错过了任何内容,请耐心等待:).
即时通讯使用GoJS的go-debug.js库在浏览器上制作了一些图表,但即时通讯存在保存选项问题.此图产生一个JavaScript对象,您可以通过此命令myDiagram.model.toJson()将其转换为Json并将其传递给数据库.我想按保存按钮使用Ajax方法将图表保存到PhP,然后保存到mySQL数据库中.
谢谢您的帮助!
这是我的保存脚本,但我不知道为什么它不起作用.
window.onload = function(){
jQuery(document).ready(function(){
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'savemodel.php',
data: {json: JSON.stringify(modelJson)},
dataType: 'json'
})
.done( function( data ) {
console.log('done');
console.log(data);
})
.fail( function( data ) {
console.log('fail');
console.log(data);
})
});
//return modelJson;
}
function load() {
myDiagram.model = go.Model.fromJson(document.getElementById("mySavedModel").value);
// loadDiagramProperties gets called later, upon the "InitialLayoutCompleted" DiagramEvent
}
function loadDiagramProperties(e) {
var pos = myDiagram.model.modelData.position;
if (pos) myDiagram.position = go.Point.parse(pos);
}
}
和我的PHP代码是:
<?php
header('Content-Type: application/json');
include 'config.php';
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
$session_id=$_SESSION['sess_user_id']; // User session id
$modelJson = $_POST['json'];
$sql = "INSERT INTO c_map
(ref_num, members_id, title, description, ingredients)
VALUES (NULL, '$session_id', 'title', 'description',
'".mysql_real_escape_string($modelJson)."');";
mysqli_query($connection, $sql);
?>
例如.命令myDiagram.model.toJson();的产生;这是一个有两个孩子的树形图,如下所示:
{ "class": "go.GraphLinksModel",
"modelData": {"position":"-545.114064532096 -44.69966023522102"},
"nodeDataArray": [
{"key":"Alpha"},
{"key":"N"},
{"key":"N2"}
],
"linkDataArray": [
{"from":"Alpha", "to":"N"},
{"from":"Alpha", "to":"N2"}
]}
我引用了GoJs网站上的模型保存文档:
GoJS does not require you to save models in any particular medium or
format. But because this is JavaScript and JSON is the most popular
data-interchange format, we do make it easy to write and read models
as text in JSON format.Just call Model.toJson to generate a string representing your model.
Call the static method Model.fromJson to construct and initialize a
model given a string produced by Model.toJson. Many of the samples
demonstrate this — search for JavaScript functions named “save” and
“load”. Most of those functions write and read a TextArea on the page
itself, so that you can see and modify the JSON text and then load it
to get a new diagram. But please be cautious when editing because JSON
syntax is very strict, and any syntax errors will cause those “load”
functions to fail.JSON formatted text has strict limits on the kinds of data that you
can represent without additional assumptions. To save and load any
data properties that you set on your node data (or link data), they
need to meet the following requirements:the property is enumerable and its name does not start with an
underscore (you can use property names that do start with an
underscore, but they won’t be saved) the property value is not
undefined and is not a function (JSON cannot faithfully hold
functions) the model knows how to convert the property value to JSON
format (numbers, strings, JavaScript Arrays, or plain JavaScript
Objects) property values that are Objects or Arrays form a tree
structure — no shared or cyclical references Model.toJson and
Model.fromJson will also handle instances of Point, Size, Rect, Spot,
Margin, Geometry, and non-pattern Brushes. However we recommend that
you store those objects in their string representations, using those
classes’ parse and stringify static functions.Because you are using JavaScript, it is trivial for you to add data
properties to your node data. This allows you to associate whatever
information you need with each node. But if you need to associate some
information with the model, which will be present even if there is no
node data at all, you can add properties to the Model.modelData
object. This object’s properties will be written by Model.toJson and
read by Model.fromJson, just as node data objects are written and
read.
解决方法:
您不需要对该JSON进行json_decode,因为它已成为对象.
删除此部分:
$directions = json_decode($_POST['json']);
var_dump(directions); // here's an error btw
并将其更改为:
$directions = $_POST['json'];
然后只需将其保存为文本模式即可.
别忘了逃脱它:
$sql = "INSERT INTO c_map
(ref_num, members_id, title, description, ingredients)
VALUES (NULL, '$session_id', 'title', 'description',
'".mysql_real_escape_string($directions)."');";
内容总结
以上是互联网集市为您收集整理的如何将json模型对象保存到php mysql数据库全部内容,希望文章能够帮你解决如何将json模型对象保存到php mysql数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。