MySQLでJSONデータ配列を実行する適切な方法は何ですか?
次のJSON.orgの例 http://json.org/example.html は機能しません。
insert into zz_TEST_ObsJSON (jsonData) values ('{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}');
エラー3140(22032):無効なJSONテキスト:「ドキュメントルートの後に他の値を続けてはなりません。」列 'zz_TEST_ObsJSON.jsonData'の値の36桁目。
クスクス笑いについては、すべてを別の{}に入れてみました。
insert into zz_TEST_ObsJSON (jsonData) values ('{{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}}');
エラー3140(22032):無効なJSONテキスト:「オブジェクトメンバーの名前がありません。」列 'zz_TEST_ObsJSON.jsonData'の値の位置1。
このようなgeoJSONのような別のメソッドも、次のことは行いません。
insert into zz_TEST_ObsJSON (jsonData) values ('[["Test1":{"Val1":"37", "Val2":"25"}],["Test2":{"Val1":"25", "Val2":"27"}]]');
エラー3140(22032):無効なJSONテキスト:「配列要素の後にコンマまたは ']'がありません。」列 'zz_TEST_ObsJSON.jsonData'の値の位置10。
insert into zz_TEST_ObsJSON (jsonData) values ('["Test1":{"Val1":"37", "Val2":"25"}],["Test2":{"Val1":"25", "Val2":"27"}]');
エラー3140(22032):無効なJSONテキスト:「配列要素の後にコンマまたは ']'がありません。」列 'zz_TEST_ObsJSON.jsonData'の値の位置9。
2つのオブジェクトTest1
とTest2
を含むJSON配列を挿入しようとしていますか?
その場合は、データを配列として挿入する必要があります。
JSON配列:
[{
"Test1": {
"Val1": "37",
"Val2": "25"
}
}, {
"Test2": {
"Val1": "25",
"Val2": "27"
}
}]
INSERT
ステートメントは次のようになります(JSONオブジェクトの周りのラッピングブラケットに注意してください)。
INSERT INTO zz_TEST_ObsJSON (jsonData) values ('[{"Test1":{"Val1":"37", "Val2":"25"}},{"Test2":{"Val1":"25", "Val2":"27"}}]');
ここでのあなた自身の問題は、JSONを理解していないことです。データベースでは、JSONは任意の1つのJavaScriptオブジェクトを格納できます。
object
array
string
number
"true"
"false"
"null"
[k:v]
の要素を持つ配列を作成しようとします。