读取和解析 SQL 数据库的 JSON 数据
Posted
技术标签:
【中文标题】读取和解析 SQL 数据库的 JSON 数据【英文标题】:Read and Parse JSON data for SQL database 【发布时间】:2016-07-18 14:04:57 【问题描述】:我有一个包含大量数据的 JSON 文件,我想将这些 JSON 数据放入 SQL Server 数据库。我对此很陌生,我不知道从哪里开始。我想以某种方式解析 JSON 数据,然后将'title:"""' 发送到我的数据库列 'title' 中,以此类推。这是 JSON 数据的样子。
"success":true,"data":[
"Title": "text here",
"Description": "text here",
"Order Type": "text here",
"Date": "text here"
,
"Title": "text",
"Description": "text",
"Order Type": "text",
"Date": "text"
,
我仍在尝试找出解决此问题的最佳方法,但我在 Visual Studio 中使用网页。我有 JSON.NET,但不知道从哪里开始解码 json 文件。但是从那里我如何将对象中的每一行发送到相应的数据库列?任何建议都会有所帮助,因为我认为我需要回到学校大声笑
【问题讨论】:
你应该用你想要的属性构建一个类。然后,使用 JSON.NET 将您的 json 转换为该对象。从那里开始,数据库插入逻辑是一样的 你也可以使用内置的SQL Server函数msdn.microsoft.com/en-gb/library/dn921897.aspx 您可以将您的 JSON 反序列化为DataTable
,然后上传到 SQL 服务器。见newtonsoft.com/json/help/html/DeserializeDataSet.htm 和***.com/questions/9075159/…
【参考方案1】:
如果您有 SQL Server 2016,这可能适合您:
SET @json =
N'[
"success":true,"data":[
"Title": "text here",
"Description": "text here",
"Order Type": "text here",
"Date": "text here"
,
"Title": "text",
"Description": "text",
"Order Type": "text",
"Date": "text"
]
]'
INSERT INTO YourTable
SELECT jsonData.*
FROM OPENJSON (@json, N'$.data')
WITH (
Title varchar(200) N'$.data.Title',
Date varchar(200) N'$.data.Description',
Customer varchar(200) N'$.data.Order Type',
Quantity varchar(200) N'$.data.Date'
)
AS jsonData;
【讨论】:
以上是关于读取和解析 SQL 数据库的 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章