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

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

文章图片

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

文章图片

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

文章图片

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

文章图片

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

文章图片

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

文章图片

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

文章图片


在Python中使用JSON轻而易举 , 这将使您立即入门 。

Python有两种数据类型 , 它们共同构成了使用JSON的理想工具:字典和列表 。 让我们探索如何:

  • 加载和编写JSON
  • 在命令行上漂亮打印并验证JSON
  • 使用JMESPath对JSON文档进行高级查询
1.解码JSON
Python附带了功能强大且优雅的 JSON库 。 它可以通过以下方式导入:

解码JSON字符串非常简单 json.loads(…) (加载字符串的简称) 。
它转换为:
  • 反对字典
  • 数组到列表 ,
  • 布尔值 , 整数 , 浮点数和字符串可以识别其含义 , 并将在Python中转换为正确的类型
  • 任何 null 都将转换为Python的 None 类型
这是一个实际的例子 json.loads :

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技巧或窍门 , 请在评论中分享!


    推荐阅读