【问题标题】:JSON MySQL database using Java使用 Java 的 JSON MySQL 数据库
【发布时间】:2023-04-09 13:46:01
【问题描述】:

我目前正在编写一个 Java 程序,并决定使用 JSON MySQL 作为我的数据库。 我将变量插入 JSON MySQL 数据库的正确语法是什么。

表:

mysql> desc sales;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| sale  | json    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+

Java 代码:

String name = "Izzat";
String place = "Cheras";

String sql = "INSERT INTO sales(id, sale) VALUES ('9','{\"Name\":"+name+",\"Place\":"+place+"}')";

我遇到了一个错误:

INSERT INTO sales(id, sale) VALUES ('9','{"Nama":Izzat,"Place":"Cheras"}') 数据截断:无效的 JSON 文本:“无效值”。在“sales.sale”列的第 8 位。

我可以知道正确的语法是什么吗?

提前谢谢你。

【问题讨论】:

    标签: mysql json database


    【解决方案1】:

    错误的直接原因似乎是数据缺少双引号。所以这应该有效:

    String sql = "INSERT INTO sales(id, sale) ";
    sql += "VALUES (9, '{\"Name\": \"" + name + ", \"Place\": \"" + place + "\"}')";
    

    Demo

    但是,鉴于 JSON 数据来自您的 Java 代码,您应该考虑使用一种可用的 JSON API 来生成 JSON 字符串。如您所见,手动构建这样的 JSON 字符串很容易出错。

    【讨论】:

    • 我是 JSON 新手。将尝试调查您的建议。非常感谢。
    猜你喜欢
    • 2017-12-19
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多