0

我在 Visual Studio 2019 中使用 SQL Server。我已经下载了美国邮政编码的大型 JSON 文件。我的目标是从字段中获取所有属性,如下所示:

在此处输入图像描述

并将它们的属性保存在我的数据库中。

我不关心性能,因为我只想这样做一次,所以我可以永远访问它们。到目前为止,我可以得到这个:

在此处输入图像描述

但它只是作为一长列出现。我尝试做一些这样的选择语句:

SELECT
JSON_VALUE(v.[value],'$.fields.city')   AS City

但它带有错误的 JSON 格式文本。如何将 JSON 文件放入我的数据库?

4

1 回答 1

0

我终于解决了。解析 JSON 并将其添加到表中的最终 SQL 如下所示:

DECLARE @ZIP VARCHAR(MAX)
SELECT @ZIP = BulkColumn FROM OPENROWSET(BULK 'D:\Downloads\us-zip-code-latitude-and-longitude.json', SINGLE_CLOB) AS j
SELECT * 
INTO ZipData
FROM OPENJSON(@ZIP)
WITH (
    City VARCHAR(255) '$.fields.city',
    Zip INT '$.fields.zip',
    DST INT '$.fields.dst',
    Longitude FLOAT '$.fields.longitude',
    State VARCHAR(255) '$.fields.state',
    Latitude FLOAT '$.fields.latitude',
    TimeZone INT '$.fields.timezone'
)
于 2020-04-18T02:47:22.173 回答