Quelle est la bonne façon de faire un tableau de données JSON dans MySQL?
Suivre l'exemple JSON.org http://json.org/example.html ne fonctionne pas:
insert into zz_TEST_ObsJSON (jsonData) values ('{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}');
ERREUR 3140 (22032): texte JSON non valide: "La racine du document ne doit pas suivre d'autres valeurs." à la position 36 dans la valeur de la colonne 'zz_TEST_ObsJSON.jsonData'.
Pour les rires, essayez de tout mettre dans un autre {}:
insert into zz_TEST_ObsJSON (jsonData) values ('{{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}}');
ERREUR 3140 (22032): texte JSON non valide: "Il manque un nom pour le membre d'objet." à la position 1 dans la valeur de la colonne 'zz_TEST_ObsJSON.jsonData'.
Cette autre méthode qui ressemble à geoJSON ne fait pas non plus:
insert into zz_TEST_ObsJSON (jsonData) values ('[["Test1":{"Val1":"37", "Val2":"25"}],["Test2":{"Val1":"25", "Val2":"27"}]]');
ERREUR 3140 (22032): texte JSON non valide: "Il manque une virgule ou ']' après un élément de tableau." à la position 10 dans la valeur de la colonne 'zz_TEST_ObsJSON.jsonData'.
insert into zz_TEST_ObsJSON (jsonData) values ('["Test1":{"Val1":"37", "Val2":"25"}],["Test2":{"Val1":"25", "Val2":"27"}]');
ERREUR 3140 (22032): texte JSON non valide: "Il manque une virgule ou ']' après un élément de tableau." à la position 9 dans la valeur de la colonne 'zz_TEST_ObsJSON.jsonData'.
Essayez-vous d'insérer un tableau JSON avec deux objets, Test1
et Test2
?
Si tel est le cas, vous devez insérer les données sous forme de tableau:
Tableau JSON:
[{
"Test1": {
"Val1": "37",
"Val2": "25"
}
}, {
"Test2": {
"Val1": "25",
"Val2": "27"
}
}]
Votre instruction INSERT
ressemblerait à la suivante (notez les crochets entourant les objets JSON):
INSERT INTO zz_TEST_ObsJSON (jsonData) values ('[{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}]');
Votre propre problème ici est que vous ne comprenez pas JSON. Dans la base de données JSON peut stocker n'importe quel objet JavaScript,
object
array
string
number
"true"
"false"
"null"
[k:v]
.