数据存储字段格式如下(Json-Array互相嵌套):
string='{"id":"9088848902695992720","title":"猛犸电动(共和新路旗舰店)","address":"上海市静安区共和新路492号","category":"购物:自行车专卖","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"静安区","fromSearch":1,"range":true,"name":"猛犸电动(共和新路旗舰店)","tag":false,"price":false,"description":"上海市静安区共和新路492号","area_id":"310106","business_name":"猛犸电动(共和新路旗舰店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛犸电动(共和新路旗舰店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000","extra_items":[{"id":"9088848902695992720","title":"猛犸电动(共和新路旗舰店)","address":"上海市静安区共和新路492号","category":"购物:自行车专卖","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"静安区","fromSearch":1,"range":true,"name":"猛犸电动(共和新路旗舰店)","tag":false,"price":false,"description":"上海市静安区共和新路492号","area_id":"310106","business_name":"猛犸电动(共和新路旗舰店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛犸电动(共和新路旗舰店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"1737914136852040362","title":"猛犸电动(中山南二路旗舰店)","address":"上海市徐汇区中山南二路861号","category":"购物:自行车专卖","type":0,"location":{"lat":31.184747101,"lng":121.450555437},"adcode":"310104","province":"上海市","city":"上海市","district":"徐汇区","fromSearch":1,"range":true,"name":"猛犸电动(中山南二路旗舰店)","tag":false,"price":false,"description":"上海市徐汇区中山南二路861号","area_id":"310104","business_name":"猛犸电动(中山南二路旗舰店)","latitude":31.184747,"longitude":121.450555,"poi_name":"上海市 · 猛犸电动(中山南二路旗舰店)","poi_id":"1737914136852040362","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"2079399087608466027","title":"猛犸电动专卖店(共江路店)","address":"上海市宝山区共江路204号","category":"购物:自行车专卖","type":0,"location":{"lat":31.331000146,"lng":121.456731092},"adcode":"310113","province":"上海市","city":"上海市","district":"宝山区","fromSearch":1,"range":true,"name":"猛犸电动专卖店(共江路店)","tag":false,"price":false,"description":"上海市宝山区共江路204号","area_id":"310113","business_name":"猛犸电动专卖店(共江路店)","latitude":31.331,"longitude":121.456731,"poi_name":"上海市 · 猛犸电动专卖店(共江路店)","poi_id":"2079399087608466027","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"}]}' select poi_name_now
,get_json_object(m, '$.poi_name') as poi_name
from (
select get_json_object(string, '$.poi_name') as poi_name_now --当前门店
,get_json_object(string, '$.extra_items') as extra_it --所有门店
from table
)
LATERAL view explode(split(regexp_replace(extra_it,'^\\[|]$',''), ',(?!")')) ext_it as m
group by poi_name_now,get_json_object(m, '$.poi_name')

最终展示结果:

参考链接:https://stackoverflow.com/questions/62512180/hive-explode-each-json-element-in-json-array-to-rows

Hive复杂数组字典(Json-Array)解析的更多相关文章

  1. iOS 字典或者数组和JSON串的转换

    在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSEr ...

  2. .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象

    原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...

  3. Js前端传递json数组至服务器端并解析的实现。

    最近做的一个小项目中需要将json数组数据传递到服务器端进行保存,现分享一下解决思路. 环境:EasyUi+Mvc 4.0 如下: 在上述截图中的红色圈起来的部分,需要在点击保存后通过一次ajax请求 ...

  4. JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

    JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

  5. 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

    前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

  6. [Cannot deserialize JSON array into type] NewtonSoft.Json解析数据出错原因

    今天用NewtonSoft.JSon解析一个天气数据,数据格式如: {"status":1,"detail":"\u6570\u636e\u83b7\ ...

  7. Poco::JSON::Array 中object 设置preserveInsertionOrder 时,stringify出错-->深入解析

    在使用poco version 1.6.0时 Poco::JSON::Array 在object  设置preserveInsertionOrder =true 时 调用 array.stringif ...

  8. 双数组字典树(Double Array Trie)

    参考文献 1.双数组字典树(DATrie)详解及实现 2.小白详解Trie树 3.论文<基于双数组Trie树算法的字典改进和实现> DAT的基本内容介绍这里就不展开说了,从Trie过来的同 ...

  9. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

随机推荐

  1. centos下APUE 例程编译-解决报错与改写例子名字。

    首先是编译生成libapue.a的库文件.按照readme的说法很简单改个目录make一下就好,但是在centos下还是有错.通过下面这篇博文<<UNIX环境高级编程中的apue.h错误& ...

  2. vue学习11-监听属性

    <!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta http ...

  3. Android Native -- Message/Handler/Looper机制(应用篇)

    ⌈Android Native消息队列处理系列文章⌋ Android Native -- Message/Handler/Looper机制(原理篇) Android Native -- Message ...

  4. python3 连接mysql数据库

    准备工作: 1.在本地虚拟机172.16.0.115上安装mysql,并设置权限如下 mysql> grant all privileges on *.* to root@"%&quo ...

  5. python浮点数计算--5

    #!/usr/bin/python #coding=utf-8 i=1.0 j=3 print(i*j) print(i+j) print(i**j) 备注:无论是哪种运算,只要有操作数是浮点数,py ...

  6. 配置Nginx使用Active Directory 做认证

    配置Nginx使用AD做认证 nginx.conf 配置 http { ldap_server ldap { url ldap://xxx:389/DC=test,DC=com?sAMAccountN ...

  7. 学习JAVAWEB第十三天

    会话技术 1. 会话:一次会话中包含多次请求和响应. * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: ...

  8. 如何使用自对弈强化学习训练一个五子棋机器人Alpha Gobang Zero

    前言 2016年3月,Alpha Go 与围棋世界冠军.职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,在当时引起了轩然大波.2017年10月,谷歌公布了新版五子棋程序 AlphaGo Ze ...

  9. eclipse的web项目导入IDE报错

    问题:eclipse的web项目导入IDE报错 第一个问题: 解决:点击enable即可 第二个问题: 解决: 解决方法: 切换文件的编码 : from UTF-8 to GBK to UTF-8 参 ...

  10. bom-offset

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...