json - Instagram JSON 导出。使用 OPENJSON 透视子数组
问题描述
我刚刚收到了来自 Instragram 的类似数据,文件的扩展名为 .json。
{"media_likes": [["2019-12-10T17:49:02", "feojo"],
["2019-12-10T14:11:53", "sollylun"],
["2016-02-16T17:05:43", "ser_mart"]],
"comment_likes":[["2019-11-28T18:05:04", "kerslyrikatel"],
["2019-11-28T18:05:03", "jakar"],
["2019-12-10T14:11:53", "sollylun"]]}
我可以在值列中返回子数组,但不知道谁将这些数组转换为“日期”和“用户”列:
DECLARE @JSON1 NVARCHAR(MAX)
SELECT @JSON1 = '{
"media_likes": [
["2019-12-10T17:49:02", "feonaleejones"],
["2019-12-10T14:11:53", "sollyluna021"],
["2016-02-16T17:05:43", "serene_martin"]
],
"comment_likes":[
["2019-11-28T18:05:04", "kerstinslyrikatelier"],
["2019-11-28T18:05:03", "jan.kart"],
["2019-12-10T14:11:53", "sollyluna021"]
]
}'
SELECT [key],value
FROM OPENJSON(@JSON1,'$.media_likes')
key value
0 ["2019-12-10T17:49:02", "feonaleejones"]
1 ["2019-12-10T14:11:53", "sollyluna021"]
2 ["2016-02-16T17:05:43", "serene_martin"]
如何旋转两个集合数组的值?
约翰
解决方案
select
DECLARE @JSON1 NVARCHAR(MAX)
SELECT @JSON1 = '{
"media_likes": [
["2019-12-10T17:49:02", "feonaleejones"],
["2019-12-10T14:11:53", "sollyluna021"],
["2016-02-16T17:05:43", "serene_martin"]
],
"comment_likes":[
["2019-11-28T18:05:04", "kerstinslyrikatelier"],
["2019-11-28T18:05:03", "jan.kart"],
["2019-12-10T14:11:53", "sollyluna021"]
]
}'
SELECT likedate,userlike
FROM OPENJSON(@JSON1,'$.media_likes')
WITH (
likedate datetime '$[0]',
userlike varchar(128) '$[1]'
)
推荐阅读
- mongodb - MongoDB:尝试解释查询在排序内存限制上失败
- docker - Mac 上 docker 中的 awslogs 日志记录驱动程序出现 NoCredentialProviders 错误
- python - 为分类问题拆分数据集的正确程序是什么?
- php - URL GET 变量消失
- math - “奇偶校验”是否只能在一定范围内校验数据的正确性?
- javascript - 当只有一组 jQuery 时删除前置部分
- c - linux ARM自旋锁中是否存在竞争条件?
- python - 将特定的多级数据透视表合并回原始(单级)数据框时出现问题
- excel - 在图表中绘制对数限制
- python - Python3中如何直接引用exec编译函数?