Hive学习(14)json解析get_json_object()函数

一、语法

目的:在一个标准JSON字符串中,按照指定方式抽取指定的字符串。

string get_json_object(string <json>, string <path>)

参数说明

  1. json:必填。STRING类型。标准的JSON格式对象,格式为{Key:Value, Key:Value,…}。如果遇到英文双引号("),需要用两个反斜杠(\)进行转义。如果遇到英文单引号('),需要用一个反斜杠(\)进行转义。
  2. path:必填。STRING类型。表示在json中的path,以$开头。
  3. $:表示根节点。
  4. .或[‘’]:表示子节点。
  5. *:返回整个数组。

二、例:在数据表test中有一列jsonData,其数据如下:

jsonData = '{"ID":121,"message":{"name":"Asher","location":[{"county":"浦东","city":"上海"},{"county":"西直门","city":"北京"}]}	
}'
  1. 提取jsonData第一层数据ID
select get_json_object(jsonData,'$.ID') from test--输出
>121
  1. 提取jsonData第二层数据name
select get_json_object(jsonData,'$.message.name') from test--输出
>Asher
  1. 提取jsonData第二层数据location的第一项
select get_json_object(jsonData,'$.message.location[0]') from test--输出
>{"county":"浦东","city":"上海"}
  1. 提取jsonData第二层数据location的第一项的city
select get_json_object(jsonData,'$.message.location[0].city') from test--输出
>上海

5.提取jsonData第三层数据city

select get_json_object(jsonData,'$.message.location.city') from test--输出
>["上海","北京"]

码字不易,喜欢请点赞,谢谢!!!😊

参考:

https://blog.csdn.net/Asher117/article/details/107984650

https://help.aliyun.com/zh/maxcompute/user-guide/get-json-object

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vim基础操作

参考B站UP&#xff1a;正月点灯笼 vim入门教程&#xff08;共3讲&#xff09; 以下总结&#xff0c;部分搬运自评论区&#xff0c;楼主&#xff1a;-不是飞鱼QAQ&#xff0c;修改部分内容。 vim分为 命令 和 编辑 模式 i进入编辑模式&#xff08; - - INSERT - - &#xff09;…

Python多线程同步锁

Python同步锁 多线程是共用一个进程空间的&#xff0c;当多个线程要用到相同的数据&#xff0c;那么久会存在资源竞争和锁的问题。 锁是用来实现共享资源的同步访问。为每一个共享资源创建一个Lock对象&#xff0c;当需要访问共享资源的时候&#xff0c;调用acquire方法来获取…

目标检测再升级!YOLOv8模型训练和部署

YOLOv8 是 Ultralytics 开发的 YOLO&#xff08;You Only Look Once&#xff09;物体检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的SOTA模型&#xff0c;它建立在先前YOLO成功基础上&#xff0c;并引入了新功能和改进&#xff0c;以进一步提升性能和灵活性。它可…

Linux文件目录结构解析

一、前言 Linux操作系统采用了一种层次化的文件目录结构&#xff0c;这种结构为系统提供了良好的组织和管理文件的方式。下面是一个简单的Linux文件目录结构树&#xff0c;以便更直观地理解 / |-- bin |-- boot |-- dev |-- etc |-- home | |-- user1 | |-- user2 |-- lib…

chromium通信系统-ipcz系统(十)-chromium通信系统-ipcz系统(十一)-mojo binding

关于mojo binding的官方文档为mojo docs。 由于比较复杂&#xff0c;这里只做简单源码分析。 我们知道要实现rpc&#xff0c;必须实现客户端和服务端。 mojo 实现了一套领域语言&#xff0c;通过领域语言描述接口和数据&#xff0c; 再通过特有编译器编译成c代码。 这个过程会…

帮贡排序#洛谷

题目背景 在 absi2011 的帮派里&#xff0c;死号偏多。现在 absi2011 和帮主等人联合决定&#xff0c;要清除一些死号&#xff0c;加进一些新号&#xff0c;同时还要鼓励帮贡多的人&#xff0c;对帮派进行一番休整。 题目描述 目前帮派内共最多有一位帮主&#xff0c;两位副…

springboot集成cas客户端

Background 单点登录SSO(Single Sign ON)&#xff0c;指在多个应用系统中&#xff0c;只需登录一次&#xff0c;即可在多个应用系统之间共享登录。统一身份认证CAS&#xff08;Central Authentication Service&#xff09;是SSO的开源实现&#xff0c;利用CAS实现SSO可以很大程…

【Python学习】Python学习8-Number

目录 【Python学习】Python学习8-Number 前言在变量赋值时被创建Python支持四种不同的数据类型整型(Int)长整型(long integers&#xff09;浮点型(loating point real values)复数(complex numbers) Python Number 类型转换Python math 模块、cmath 模块Python数学函数Python随…

以太网交换基础

0x00 前言 以为主要的作用的笔记的记忆&#xff0c;所以多为问答的形式进行记录。 什么是以太网&#xff1f; 以太网是一种局域网技术&#xff0c;用于链接终端&#xff0c;进行网络通信。 什么是冲突域&#xff1f; 冲突域是指连接在同一公共介质上的所有节点的集合。 就…

【Leetcode】 447. 回旋镖的数量

文章目录 题目思路代码 题目 447. 回旋镖的数量 思路 问题要求计算平面上所有回旋镖的数量&#xff0c;即找到满足题设条件的点组合 (i, j, k)。回旋镖的定义是指有两个相同的距离&#xff0c;分别从点 i 到 j 和点 i 到 k。具体思路是&#xff1a; 遍历每个点&#xff0c…

Android将自定义View保存为Bitmap图片

Android将自定义View保存为Bitmap图片 private void createPdfImg() {//创建待分享的viewView view LayoutInflater.from(getContext()).inflate(R.layout.ecg_pdf_view, null);PdfEcgWaveView waveView view.findViewById(R.id.ecg_wave_view2);PdfEcgWaveView.DATA_PRE_SEC…

【数据结构 | 二叉树入门】

数据结构 | 二叉树入门 二叉树概念&#xff1a;二叉树特点&#xff1a;二叉树的基本形态特殊二叉树满二叉树完全二叉树 二叉树的存储结构二叉树的遍历先序遍历中序遍历后序遍历 计算二叉树的节点个数计算叶子节点的个数树的高度求第k层节点个数 二叉树概念&#xff1a; 如下图…

怎么将营业执照图片转为excel表格?(批量合并识别技巧)

一、为何要将营业执照转为excel表格&#xff1f; 1、方便管理&#xff1a;将营业执照转为excel格式&#xff0c;可以方便地进行管理和整理&#xff0c;快速查找需要的信息。 2、数据处理&#xff1a;Excel可以提供丰富的计算和数据分析功能&#xff0c;转化为excel后方便数据…

解决递归问题的六种方法

许多软件工程师在编程面试中遇到递归问题。 如果你想成为善于解决递归问题&#xff0c;学习这6个模板&#xff1a; 1.迭代 任何可以用循环解决的问题也可以用递归解决。 有时候递归提供了一个更简洁和优雅的解决方案&#xff0c;即使效率较低。 范例&#xff1a; - 按逆序遍…

12.字符串和正则表达式

使用正则表达式 正则表达式相关知识 在编写处理字符串的程序或网页时&#xff0c;经常会有查找符合某些复杂规则的字符串的需要&#xff0c;正则表达式就是用于描述这些规则的工具&#xff0c;换句话说正则表达式是一种工具&#xff0c;它定义了字符串的匹配模式&#xff08;…

Ubuntu上安装VMware+win11系统手册

Ubuntu安装vmware 下载&#xff1a; Linux 版下载地址&#xff1a;https://www.vmware.com/go/getworkstation-linux 安装&#xff1a; sudo chmod x VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle 执行安装命令&#xff1a; sudo ./VMware-Workstation-Full-17.5.0…

pytorch 分布式 Node/Worker/Rank等基础概念

分布式训练相关基本参数的概念如下: Definitions Node - A physical instance or a container; maps to the unit that the job manager works with. Worker - A worker in the context of distributed training. WorkerGroup - The set of workers that execute the same f…

AArch64 memory management学习(二)

提示 该博客主要为个人学习&#xff0c;通过阅读官网手册整理而来&#xff08;个人觉得阅读官网的英文文档非常有助于理解各个IP特性&#xff09;。若有不对之处请参考参考文档&#xff0c;以官网文档为准。AArch64 memory management学习一共分为两章&#xff0c;这是第二章。…

python基础教程八(循环1)

1. while循环 为避免多次重复的代码&#xff0c;我们会用到循环 while (condition): 执行语句 while循环的结构非常简单只要条件满足就一直循环直到&#xff0c;条件不满足为止。 例子如下&#xff1a; x1 while x<100:print(x)x1结果就是最简单的输出1-100的数字 while…

西电期末考点总结

一.“打擂台” 介绍 打擂台用于找到一个数组中的最值问题&#xff0c;先设置一个虚拟擂主&#xff0c;并保证他是“最弱的”&#xff0c;然后遍历数组&#xff0c;找到“更强的”数据&#xff0c;就交换擂主&#xff0c;“打”到最后的“擂主”就是最值数据 相关题目 1004.…