三星Note 7|在Python中有效使用JSON的4个技巧

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片
在Python中使用JSON轻而易举 , 这将使您立即入门 。
Python有两种数据类型 , 它们共同构成了使用JSON的理想工具:字典和列表 。 让我们探索如何:
- 加载和编写JSON
- 在命令行上漂亮打印并验证JSON
- 使用JMESPath对JSON文档进行高级查询
Python附带了功能强大且优雅的 JSON库 。 它可以通过以下方式导入:
解码JSON字符串非常简单 json.loads(…) (加载字符串的简称) 。
它转换为:
- 反对字典
- 数组到列表 ,
- 布尔值 , 整数 , 浮点数和字符串可以识别其含义 , 并将在Python中转换为正确的类型
- 任何 null 都将转换为Python的 None 类型
2.编码JSON
反之亦然 。 使用 json.dumps(…) (“转储为字符串”的缩写)将包含字典 , 列表和其他本机类型的Python对象转换为字符串:
这是完全相同的文档 , 转换回字符串!如果要使JSON文档更易被人类阅读 , 请使用indent选项:
3.命令行用法
JSON库也可以从命令行使用 , 以 验证 JSON 并进行 漂亮打印:
jq默认会漂亮地打印您的JSON
4.使用JMESPath搜索JSON
JMESPath是JSON的查询语言 。 它使您可以轻松地从JSON文档中获取所需的数据 。 如果您以前使用过JSON , 您可能知道获取嵌套值很容易 。
例如: doc[\"person\"
[\"age\"
将在如下所示的文档中为您提供年龄的嵌套值:
但是 , 如果您想从一系列人员中提取所有年龄段 , 在这样的文档中怎么办:
我们可以编写一个简单的循环 , 遍历所有人员 。 十分简单 。 但是循环很慢 , 会给您的代码带来复杂性 。 这就是JMESPath进来的地方!
这个JMESPath表达式将完成工作:
它将返回一个所有年龄的数组: [38 45 14
。
假设您要过滤列表 , 仅获取名为“ erik”的人的年龄 。 您可以使用过滤器执行此操作:
看看这有多自然和快速?
JMESPath不是Python标准库的一部分 , 这意味着您需要使用pip 或 进行安装 pipenv 。 例如 ,在虚拟环境中使用 时 :pip
您现在就可以开始尝试了!
【三星Note 7|在Python中有效使用JSON的4个技巧】如果您还有其他JSON技巧或窍门 , 请在评论中分享!
推荐阅读
- 别再买坚果零食吃了,自己在家就能做,酥脆香甜,没有一点苦涩味!
- 白色的发糕是用什么粉做的,难做吗?
- 这几道菜在我家太受欢迎, 做法还很简单!
- 三星堆遗址|三星堆“迁都”猜想|自然灾害说:洪水、地震等致三星堆古城毁亡
- 吸烟|戒烟的最佳年龄已公布,提醒:若在正确的年龄戒烟,或可延年益寿
- 精选几道好吃的宴菜,五香排骨,麻辣烫,在家请客吃饭非常有面子
- 三星堆遗址|直击三星堆发布会|雷雨:四号坑灰烬中发现纺织品痕迹
- 家庭版的鱼香肉丝,鲜香可口,在家也能做出大厨的味道
- 想吃点心不用买,教你在家做“驴打滚”,不用烤箱,软糯香甜!
- 这几种早餐,可以试着做一下
