json - 将嵌套的 JSON 数据从 API 导入 SQL Server 中的单个表
问题描述
我有一些从 API URL 获取的嵌套 JSON 数据,我需要将这些数据存储到 SQL Server 中的单个表中,但我无法找到不涉及使用多个表的解决方案。
我所拥有的,以及我在下面尝试过的:
这是我从 API 获得的 JSON 数据:
{
"Localnumber":"8888",
"Name":"Some Name",
"Description":null,
"Email":"some@email.com",
"PhoneNumbers":[
{
"Number":"88888888",
"LineName":null,
"BelongsTo":"8888",
"GotoLocalNumber":null
},
{
"Number":"22222222",
"LineName":null,
"BelongsTo":"8888",
"GotoLocalNumber":null
}
],
"Phones":[
{
"LocalNumber":"200000",
"Name":null,
"Type":21,
"MAC":null,
"BelongsTo":"8888",
"description":"Myfone"
},
{
"LocalNumber":"200001",
"Name":null,
"Type":8,
"MAC":"22222222",
"BelongsTo":"2931",
"description":"Mobile (22222222)"
},
{
"LocalNumber":"200002",
"Name":null,
"Type":23,
"MAC":null,
"BelongsTo":"8888",
"description":"Some Description"
}
],
"Info":[
{
"Type":0,
"Label":null,
"Value":null
}
],
"Department":null
}
我已经尝试过小规模的,只是想看看我是否可以使用以下方法从中获取一些数据:
DECLARE @JSON varchar(max)
SELECT @JSON = BulkColumn
FROM OPENROWSET (BULK 'https://public.somedomain.net/api/employee?account=XXXX&hash=XXXXXXXXXXXXXXXXXXXXXX', SINGLE_CLOB) import
SELECT *
FROM OPENJSON (@JSON)
WITH
(
[Localnumber] varchar(20),
[Name] varchar(20),
[Description] varchar(20),
[Email] varchar(20)
)
但我收到以下错误:
消息 4861,级别 16,状态 1,行 2
无法批量加载,因为无法打开文件“https://public.sippeer.dk/api/employee?account=8493&hash=1SORJvBGzfCMXvc2kwGfbbC-HTIkJd”。操作系统错误代码 123(文件名、目录名或卷标语法不正确。)。
任何可以让我“走上正轨”解决这个问题的帮助都非常感谢。
解决方案
推荐阅读
- ios - 将 UIView 附加到 LottieFiles 视图
- multithreading - 上下文切换:线程与进程
- c# - 当用户在 Xamarin.Forms 中同时单击多个项目时,如何修复 CollectionView SelectionMode="Single" 错误?
- node.js - 从智能合约数组中获取数据
- python-3.x - 为什么两次调用方法会导致 TypeError: object is not callable
- excel - Excel_VBA - 隐藏和取消隐藏列的时间逻辑
- xml - SonarLint.xml 和 Codacy Sonar Sharp 配置
- python - 如何访问 HasTraits/Chaco/Enable/Kiva Python GUI 应用程序的 base_pixel_scale 属性?
- javascript - per_page 不是整数类型。Woocommerce REST API Node.js
- asp.net - 如何将 google map apiKey 设置为环境变量以在 Asp.net 中确保安全 - Angular 应用程序