首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Java的JSON MySQL数据库

基于Java的JSON MySQL数据库
EN

Stack Overflow用户
提问于 2018-08-16 10:13:47
回答 1查看 363关注 0票数 1

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

表:

代码语言:javascript
复制
mysql> desc sales;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| sale  | json    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+

Java代码:

代码语言:javascript
复制
String name = "Izzat";
String place = "Cheras";

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

我得到一个错误:

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

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

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 10:18:04

错误的直接原因似乎是数据缺少双引号。因此,这应该是可行的:

代码语言:javascript
复制
String sql = "INSERT INTO sales(id, sale) ";
sql += "VALUES (9, '{\"Name\": \"" + name + ", \"Place\": \"" + place + "\"}')";

Demo

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51868713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档