【发布时间】:2017-08-24 07:44:06
【问题描述】:
我知道这个标题很陈词滥调,但它不是关于在 SQL Server 中存储 JSON 数据。
我有一个带有 JSONObjects 的 JSONArray,其键与 SQL Server 2012 中的列名匹配。我想将数据保存到数据库中的正确列中。
我知道这样做的明显方法是遍历 JSONArray 并使用单独的插入命令保存值。我想知道是否有其他方法可以做到这一点。
我不想使用 T-SQL。我只想从 Java 处理这个。
这是一个与我的JSONArray格式匹配的示例数据:
[
{
"FEATURE":"A",
"OPTION":"92384",
"ERROR_TYPE":"MISSING",
"DESCRIPTION":"Feature A is missing the option 92384",
"SERIAL_NUMBER":"249752-23894"
},
{
"FEATURE":"B",
"OPTION":"0288394",
"ERROR_TYPE":"MISSING",
"DESCRIPTION":"Feature B is missing the option 0288394",
"SERIAL_NUMBER":"Y2394-20392Q"
}
]
我的 SQLServer 表如下所示:
在不遍历每个JSONArray 的情况下实现此目的的最佳方法是什么?
【问题讨论】:
-
我建议您使用 nvarchar 而不是 varchar。否则,您可能会在此过程中遇到编码困难。
-
@Tschallacka 注意到。会改变的。
-
如果您可以将数据库软件更新到 2016,您可以使用漂亮的功能,例如 docs.microsoft.com/en-us/sql/relational-databases/json/…
-
@Tschallacka 我知道 SQLServer 2016 支持很多关于 JSON 的功能,但我的项目已经完全设置在 SQLServer 2012 上 - 所以,改变它是不行的。
标签: java json sql-server-2012-express