javascript - 在 Snowflake 中使用不区分大小写的列名解析 JSON 数据
问题描述
我正在尝试解析 Json 文档并创建一个视图。在解析 JSON 时,我们可以使用不区分大小写的列名。有什么办法吗?
SELECT
parse_json(column1) AS json_data
FROM VALUES
('{
"ID": 1,
"color": "black",
"category": "hue",
"type": "primary",
"code": {
"rgb": "255,255,255",
"hex": "#000"
}
}') as raw_json;
这将运行并提取数据,
select json_data:ID::integer as ID from colors
这不会提取数据。有什么方法可以使下面也起作用吗?
select json_data:id::integer as ID from colors
解决方案
您可以将GET_IGNORE_CASE用作:
SELECT GET_IGNORE_CASE(to_object(json_data),'id')::integer as ID1,
GET_IGNORE_CASE(to_object(json_data),'ID')::integer as ID2
FROM
(
SELECT
parse_json(column1) AS json_data
FROM VALUES
('{
"ID": 1,
"color": "black",
"category": "hue",
"type": "primary",
"code": {
"rgb": "255,255,255",
"hex": "#000"
}
}') as raw_json
)
推荐阅读
- php - 使用另一个 php 文件中的变量并在查询 isset 后恢复它
- django - 为什么当我将“LoginRequiredMixin”传递给 Django 中的“视图”时,我无法将表单提交到数据库?
- python - 使用 spotipy 的 util.prompt 进行回溯
- flutter - 如何获取 Firestore 上另一个集合内的集合内的所有文档?
- html - CSS 背景 SVG 不显示
- java - 如何解决“论点不同!Junit 和 Mockito 中的通缉犯错误
- java - 如何保存在 JPanel 中绘制的线条?
- windows - 直到 WaitForSingleObject 返回的时间
- vue.js - vuetable - 没有可用的数据
- ios - 从主线程调用主 MOC 上的 performBlockAndWait 时未创建死锁