
jmespath
文章平均质量分 52
人生得意须尽欢,莫使娇躯去搬砖
事了拂衣去,深藏功与名
展开
-
jmespath学习5-管道表达式和多选
管道表达式投影是 JMESPath 中的一个重要概念。但是,有时投影语义不是您想要的。一个常见的场景是当您想要对投影的结果进行运算而不是将表达式投影到数组中的每个元素上时。例如,表达式 people[* ].first将为您提供一个数组,其中包含 people 数组中每个人的名字。如果您想要该列表中的第一个元素怎么办?如果您尝试people[*].first[0],您只是对 people 数组中的每个元素计算first[0],并且由于没有为字符串定义索引,最终结果将是一个空数组,[]. 要实现所需的结果,原创 2021-06-19 16:47:07 · 345 阅读 · 0 评论 -
jmespath学习4-投影Projections
投影-Projections1.列表投影2.切片投影3.对象投影4.展平投影5.过滤投影6.比较运算符6.1相等运算符6.2排序运算符投影是 JMESPath 的主要功能之一。它允许您将表达式应用于元素集合。有五种投影:列表投影切片投影物体投影展平投影过滤器投影1.列表投影通配符表达式 创建一个列表投影,这是在一个JSON阵列的投影。列表中嵌套多个字典,每个元素都是json对象每个元素都是key-value都是一样的,如果想拿到某一个key下的所有valueimport jmespa原创 2021-06-19 16:41:15 · 212 阅读 · 0 评论 -
jmespath学习3-切片
切片切片允许您选择数组的连续子集。如果您曾经在 python 中使用过切片,那么您已经知道如何使用 JMESPath 切片。以最简单的形式,您可以指定起始索引和结束索引。结束索引是您不希望包含在切片中的第一个索引。import jmespath li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # 取出元素1-5res1 = jmespath.search('[0:5]',li) print(res1) #[1, 2, 3, 4, 5]原创 2021-06-19 16:08:39 · 140 阅读 · 0 评论 -
jmespath学习2-基本表达式
基本表达式对于字典,可以直接输入key来获取到对应的value(注意,search是jmespath提供的查询方法,第一个参数数是表达式,第二个参数是要查询的数据)import jmespath dict1 = { "a": "foo", "b": "foo1", "c": "foo2"} res = jmespath.search('a',dict1)print(res) #foo对于key不存在,那么返回null或者等效于null的语言,比如在python返回原创 2021-06-19 16:03:28 · 295 阅读 · 0 评论 -
jmespath学习1--安装
JMESPath 是 JSON 的查询语言。您可以从 JSON 文档中提取和转换元素。下面的示例是交互式的。您可以更改 JMESPath 表达式并查看结果自动更新。安装pip install jmespath查看导入jmespathimport jmespath原创 2021-06-19 15:58:51 · 492 阅读 · 1 评论