【发布时间】:2012-07-23 23:25:56
【问题描述】:
使用 SQL,我如何从下面的 JSON 中选择“conversion_event”的值?
{"str":[1,1342886173,100000627571405,"offsite_conversion.lead",{"action.type":"offsite_conversion","conversion_event":387756207950188,"tag":"lead"},["conversion_event"],[],{"amount":12623486},"1:11:1:0:0:1:0"]}
这里有一些不寻常的东西,例如 JSON 中的 JSON 和方括号。假设所有值的长度因行而异,因此您不能按一组字符位置进行切片。
【问题讨论】:
-
您真的必须在 SQL 中执行此操作吗?就像试图用汽车引擎敲钉子一样
-
有两个你要哪一个?
-
我尝试使用“LATERAL VIEW JSON_TUPLE”来操作它,但这听起来像是 Hive 特有的解决方案,而不是 SQL 中的最佳方式。
-
@Bort 不幸的是,我确实需要使用 SQL。
-
您使用的是什么数据库?如果这是 TSQL 你可以写一个 CLR 函数来做到这一点没问题,我不知道其他人