como salvar o objeto de modelo json no banco de dados php mysql

este é o meu primeiro post, por isso, se estiver faltando alguma coisa, seja paciente :)

estou usando a biblioteca go-debug.js deGoJS para fazer alguns diagramas no navegador, mas estou executando um problema com a opção de salvar. Este diagrama produz um objeto JavaScript que você pode converter em Json e passá-lo ao banco de dados por este comandomyDiagram.model.toJson () . Quero quando pressiono o botão Salvar para salvar o diagrama usando oAjax método paraPhP e depois paramySQL base de dados.

Obrigado pela ajuda!

Aqui está o meu script salvo, mas não consigo descobrir por que ele não funciona.

  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);
  }



  }

e meu código 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);





?>

por exemplo. O produto do comando myDiagram.model.toJson (); que é um diagrama em árvore com 2 filhos, terá a seguinte aparência:

{ "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"}
 ]}

Cito o modelo para salvar a documentação no site dos GoJs:

O GoJS não exige que você salve modelos em qualquer meio ou formato específico. Mas como esse é o JavaScript e o JSON é o formato de intercâmbio de dados mais popular, facilita a gravação e a leitura de modelos como texto no formato JSON.

Apenas chame Model.toJson para gerar uma string representando seu modelo. Chame o método estático Model.fromJson para construir e inicializar um modelo, devido a uma sequência produzida por Model.toJson. Muitas das amostras demonstram isso - pesquise funções JavaScript denominadas "save" e "load". A maioria dessas funções grava e lê uma TextArea na própria página, para que você possa ver e modificar o texto JSON e carregá-lo para obter um novo diagrama. Mas tenha cuidado ao editar, porque a sintaxe JSON é muito rigorosa e qualquer erro de sintaxe fará com que essas funções de "carregamento" falhem.

O texto formatado em JSON tem limites estritos nos tipos de dados que você pode representar sem suposições adicionais. Para salvar e carregar quaisquer propriedades de dados definidas nos dados do nó (ou dados do link), elas precisam atender aos seguintes requisitos:

a propriedade é enumerável e seu nome não começa com um sublinhado (você pode usar nomes de propriedades que começam com um sublinhado, mas eles não serão salvos) o valor da propriedade não é indefinido e não é uma função (o JSON não pode reter fielmente funções) o modelo sabe como converter o valor da propriedade para o formato JSON (números, seqüências de caracteres, matrizes JavaScript ou objetos JavaScript simples), que são objetos ou matrizes, formam uma estrutura em árvore - sem referências compartilhadas ou cíclicas Model.toJson e Model .fromJson também manipula instâncias de Brushes de ponto, tamanho, retas, spot, margem, geometria e não-padrão. No entanto, recomendamos que você armazene esses objetos em suas representações de seqüência de caracteres, usando a análise dessas classes e as funções estáticas de string.

Como você está usando JavaScript, é trivial adicionar propriedades de dados aos dados do nó. Isso permite que você associe as informações necessárias a cada nó. Mas se você precisar associar algumas informações ao modelo, que estarão presentes mesmo se não houver dados do nó, você poderá adicionar propriedades ao objeto Model.modelData. As propriedades desse objeto serão gravadas por Model.toJson e lidas por Model.fromJson, assim como os objetos de dados do nó são gravados e lidos.

questionAnswers(1)

yourAnswerToTheQuestion