Python提取JSON格式数据

article/2025/9/28 8:12:10

文章目录

  • 前言:
  • 一、JSON使用
    • 1.导入json的包
    • 2.常用的方法
  • 二、实战
    • 1.json.loads()
    • 2.jsonpath

前言:

  • 我们经常会用到json数据,json数据格式主要是用来和不同语言之间进行交互
  • 比如你要给java端的提供数据,你需要将自己的数据转换为json格式才行
  • 所以不管是提供给后端其他人,还是从API返回的数据结果,我们都需要封装成json数据格式或者解析json数据
  • json的数据格式类似于python中的字典,都是key:value,当然value也可以是数组的格式

一、JSON使用

1.导入json的包

import json

2.常用的方法

函数描述
json.dumps将python的数据转为json格式提供出去
json.loads将json格式数据解析为python格式

举例:
json.loads()

import jsonstrDict = '{"city": "广州", "name": "小黑"}'
print(type(strDict)) #<class 'str'># 将json格式数据转换为python格式,可以看出将str还原为了dict格式
r = json.loads(strDict) 
print(r,type(r)) # {'city': '广州', 'name': '小黑'} <class 'dict'>

json.dumps()

import jsonlistStr = [1, 2, 3, 4]
dictStr = {"city": "北京", "name": "大猫"}
print(type(listStr)) # <class 'list'>
print(type(dictStr)) #<class 'dict'># 将python数据转为json格式,可以看出转换后的数据类型均变为了str
s1 = json.dumps(listStr)
s2 = json.dumps(dictStr,ensure_ascii=False)print(s1,type(s1)) # [1, 2, 3, 4] <class 'str'>
print(s2,type(s2)) # {"city": "北京", "name": "大猫"} <class 'str'>

二、实战

1.json.loads()

json的数据格式如下

{"animals": {"dog": [{"name": "Rufus","age":15},{"name": "Marty","age": null}]}
}

我们想要取出json格式中所有狗的名字:

load_data = json.loads(dump_data)
data = load_data['animals']['dog']
result1 = []
for i in data:result1.append(i.["name"])
print(result1)

运行结果

['Rufus', 'Marty']

2.jsonpath

如果用jsonpath工具如何取数呢?

load_data = json.loads(dump_data)
jobs=load_data['animals']['dog']
result2 = []
for i in data:
# 从根节点开始,匹配name节点result2.append(jsonpath.jsonpath(i,'$..name')[0])
print(result2)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/GYhGUruZ.shtml

相关文章

解析JSON格式数据常见方法

待解析的JSON格式的文件如下&#xff1a; [{"id":"5", "version":"1.0", "name":"xiaowang"}, {"id":"10", "version":"2.0", "name":"lisi"}] 一、…

JSON.parseObject 解析JSON格式数据

fastjson是阿里巴巴开源产品之一&#xff0c;解析速度快。 下载地址(maven仓库)&#xff1a;https://mvnrepository.com/artifact/com.alibaba/fastjson/1.2.53 // 当待解析的JSON字符串是简单对象类型的&#xff0c;即用大括号包围&#xff0c;此时采用JSONObject对象来处理…

JQuery 发送Json格式数据

简述&#xff1a; 需要封装一组Json格式的数据到服务器 知识点&#xff1a; 1. 调用jquery.json的库 2. AJAX Post 请求 Jquery下载地址 http://jquery.com/download/ Jquery.json http://code.google.com/p/jquery-json/ 代码&#xff1a; testSendJson.jsp <% page…

Json格式字符串转换成Json格式数据

1、json格式字符串 2、将json格式字符串转换成json格式 //json格式的字符串 String str "{ \"people\": [\n" "\n" "{ \"firstName\": \"Brett\", \"lastName\":\"McLaughlin\", \"email\&…

数据库中存储Json格式数据

在数据库中存储Json格式数据 1、表字段类型 json 2、Java代码有两种方式&#xff1a; 方式一 &#xff1a;属性定义成String类型。 往数据库中存储的值 必须为JSON格式的字符串&#xff0c;因为数据库中会做一次校验。 缺点&#xff1a;往数据库中存的数据是String类型&…

Mysql存储json格式数据

Mysql5.7版本以后新增的功能&#xff0c;Mysql提供了一个原生的Json类型&#xff0c;Json值将不再以字符串的形式存储&#xff0c;而是采用一种允许快速读取文本元素&#xff08;document elements&#xff09;的内部二进制&#xff08;internal binary&#xff09;格式。在Jso…

多路复用技术之时分复用

多路复用技术是通信技术领域的一个专业名词&#xff0c;从字面上的意思去理解就是将多路信号按照一定的规则共用同一条信道进行传输。 一、多路复用技术的分类 多路复用技术通常分为频分多路复用、时分多路复用、波分多路复用、码分多址和空分多址。 二、时分多路复用原理 …

“分集”与“复用”辨析

【注&#xff1a;本文中几乎所有文字与图片均来自网络&#xff0c;本人仅做了整理与归纳&#xff01;】 文章目录 分集与复用1. 分集与复用的概念1.1 分集1.2 复用 2. 分集与复用的目的2.1 分集的目的2.2 分集阶数与分集增益2.3 复用的目的 3. 分集与复用的分类3.1 分集技术3.…

认识LTE(七):LTE中的两种无反馈模式:发射分集(TM2)和开环空分复用(TM3)

认识LTE(七)&#xff1a;LTE中的两种无反馈模式&#xff1a;发射分集&#xff08;TM2&#xff09;和开环空分复用&#xff08;TM3&#xff09; 文章目录 认识LTE(七)&#xff1a;LTE中的两种无反馈模式&#xff1a;发射分集&#xff08;TM2&#xff09;和开环空分复用&#xff…

认识LTE(八):LTE中的反馈:闭环空分复用(TM4)

认识LTE(八)&#xff1a;LTE中的反馈&#xff1a;闭环空分复用&#xff08;TM4&#xff09; 文章目录 认识LTE(八)&#xff1a;LTE中的反馈&#xff1a;闭环空分复用&#xff08;TM4&#xff09;零.代码地址一.TM4到底反馈了什么&#xff1f;二.CQI反馈二.PMI 三.RI四.总结 零.…

图解通信原理与案例分析-21:4G LTE多天线技术--天线端口、码流、分集Diveristy、波束赋形BF、空分复用MIMO、空分多址

目录 前言&#xff1a; 第1章 MIMO多天线技术概述 1.1 三大目的 1.2 六大分类 第2章 单天线SISO&#xff08;单输入单输出&#xff09; 2.1 概述 2.2 实现原理--多路“异频”《发送接收》对 第3章 接收分集MISO&#xff08;多输入单输出&#xff09;&#xff1a;冗余接…

[4G5G专题-28]:架构-什么是多天线技术与5G大规模天线阵列、波束赋形、高阶空分复用?

目录 第1章 多天线技术概述 1.1 LTE的多天线技术回顾 1.2 5G大规模天线阵列、波束赋形以及其动机 第2章 什么是波束赋形 2.1 波束赋形与大规模天线阵列的关系 2.2 波束赋形的定义 2.3 波束赋形要回答和解决的两个问题 2.4 常见的波束赋形相关的专业术语 第3章 Active …

复用,多址的区分以及其涉及的相关数据速率

复用技术 为了让尽可能多的手机使用同一个频段&#xff0c;无线通信设计了多址复用技术&#xff1a; 时分多路复用&#xff08;Time Division Multiplexing&#xff0c;TDM)要求各个子通道按时间片轮流地占用整个带宽。时间片的大小可以按一次传送一位、一个字节或一个固定大…

王道 —— 操作系统的四个特征

1、知识总览 操作系统有并发、共享、虚拟、异步四个基本特征&#xff0c;并发和共享是两个最基本的特征&#xff0c;二者互为存在条件&#xff1b; 2、操作系统的特征 —— 并发 并发&#xff1a;指两个或者多个时间在同一时间间隔内发生。这些事件宏观上是同时发生的&#x…

操作系统学习笔记——总体总结

看书太慢容易抓不住重点&#xff0c;所以在此按照操作系统的主要内容分别查网上博客资料进行学习。 一、引论 操作系统基本特性&#xff1a; 并发&#xff1a; 1.并行与并发&#xff1a;并行性是指两个或多个时间在同一时刻发送&#xff1b;并发性是指两个或多是事件在同一…

数据库脏读、不可重复读、幻读

1. 脏读 &#xff1a;脏读就是指当一个事务正在访问数据&#xff0c;并且对数据进行了修改&#xff0c;而这种修改还没有提交到数据库中&#xff0c;这时&#xff0c;另外一个事务也访问这个数据&#xff0c;然后使用了这个数据。 2. 不可重复读 &#xff1a;是指在一个事务内&…

关于可重复读和幻读

最近看到MySQL隔离性的知识&#xff0c;发现网上很多人说可重复读所针对的操作是update&#xff0c;然后亲自试验了一把&#xff0c;见下文。 首先我们知道在读提交隔离级别下&#xff0c;同一事物A中以相同的查询语句可能得到的结果不一致的情况&#xff0c;即不可重复读。这是…

可重复读如何解决幻读

学习之前的疑问&#xff1a; 可重复读的概念 与 不可重复读的概念 行锁gap锁(间隙锁) 快照读 与 当前读区别 快照读中的MVCC 当前读中的gap锁 和 行锁 前几天面试时被问到了mysql可重复读如何解决幻读的问题&#xff0c;之前脑子中的概念只有增加了共享锁和排他锁进行避免&…

MySQL(四)—MVCC实现可重复读的原理

文章目录 一、MVCC概况二、MVCC实现原理1.两或三个隐藏字段。2.undo log3.一个数组4.ReadView 三、举例验证MVCC原理参考文献 一、MVCC概况 MVCC是什么&#xff1f;MVCC即多版本控制协议&#xff0c;InnoDB实现了MVCC作版本控制&#xff0c;防止不该被当前事务看到的数据看到。…

可重复读

《循序渐进DB2-系统管理、运行维护与应用案例》第10章锁和并发&#xff0c;本章首先介绍了通用的事务概念&#xff0c;并指出DB2在用户读取、写入数据时的加锁策略、锁模式、兼容性等。本章还介绍了在并发控制中常碰到的4种数据异常现象&#xff0c;同时讲述了DB2如何使用锁克服…