当前位置: 首页 > wzjs >正文

怎么做传奇网站电子商务网站业务流程图

怎么做传奇网站,电子商务网站业务流程图,自助服务平台,建筑公司年终总结会总经理发言稿jsonpath-ng 库的详细使用如下: 一、安装与导入 安装 通过 pip 安装库: pip install jsonpath-ng支持 Python 3.6 及以上版本。 导入核心模块 主要使用 parse 函数和 JSONPath 对象: from jsonpath_ng import parse二、基础查询操作 1. 简单…

jsonpath-ng 库的详细使用如下:

一、安装与导入

  1. 安装
    通过 pip 安装库:

    pip install jsonpath-ng
    

    支持 Python 3.6 及以上版本。

  2. 导入核心模块
    主要使用 parse 函数和 JSONPath 对象:

    from jsonpath_ng import parse
    

二、基础查询操作
1. 简单路径查询
• 场景:从 JSON 中提取指定路径的值。

data = {"person": {"name": "Alice","age": 30,"address": {"city": "New York"}}
}
# 解析表达式
expression = parse("person.name")
# 查找匹配结果
matches = expression.find(data)
print(matches[0].value)  # 输出:Alice

支持点号 . 或中括号 [] 访问路径,如 parse("person['address']['city']"),
expression.find() 函数 返回的是一个DatumInContext对象

2. 数组遍历查询
• 场景:提取列表中的所有元素。

使用 [*] 通配符匹配数组元素:

data = {"products": [{"name": "A", "price": 10}, {"name": "B", "price": 20}]}
expression = parse("products[*].price")
matches = [match.value for match in expression.find(data)]
print(matches)  # 输出:[10, 20]

适用于嵌套数组的递归查询(如 $..price)。


三、高级查询语法
1. 过滤条件
• 场景:筛选符合条件的数据。

使用 [?()] 表达式实现动态过滤:

data = {"store": {"books": [{"title": "Book1", "price": 15},{"title": "Book2", "price": 25}]}
}
# 筛选价格低于20的书籍
expression = parse("store.books[?(@.price < 20)].title")
matches = [match.value for match in expression.find(data)]
print(matches)  # 输出:["Book1"]

支持逻辑运算符(&&||)和算术运算。

[?(@.price < 20)]:过滤条件

  • (1) []:数组索引或过滤器操作符
    作用:表示对数组的操作,内部可以包含索引(如 [0])或过滤条件(如 [?()])。

    示例:

    books[0]:选择第一本书。books[?()]:根据条件筛选书籍。
    
  • (2) ?():条件过滤语法
    作用:定义过滤逻辑,?() 内需编写布尔表达式。
    示例:

    books[?(@.price < 20)]  // 筛选价格低于20的书籍
    
  • (3) @:当前节点引用
    作用:在过滤器中表示当前遍历到的数组元素(即每本书的对象)。
    示例:

    {"title": "Book A", "price": 15}  // 当前@指向此对象
    

    @.price 表示当前书籍的 price 属性值。

  • (4) @.price < 20:过滤逻辑
    作用:比较当前书籍的价格是否小于 20。
    扩展语法:

    • 逻辑运算符:&&(与)、||(或)、!(非),如 @.price < 20 && @.category == "fiction"

    • 正则匹配:=~(如 @.title =~ /^The/)。

2. 函数操作
• 场景:对数据进行聚合计算。

使用内置函数如 length()sum()

expression = parse("sum(store.books[*].price)")
total_price = expression.find(data)[0].value
print(total_price)  # 输出:40

其他函数包括 min()max() 等。


四、数据修改操作
1. 键值修改
• 场景:动态更新 JSON 数据中的值。

通过 update() 方法修改匹配项:

expression = parse("person.name")
matches = expression.find(data)
if matches:matches[0].update("Bob")  # 将 Alice 改为 Bob
print(data["person"]["name"])  # 输出:Bob

适用于批量修改场景。


五、实际应用案例
1. 接口测试验证
• 场景:验证接口返回数据的关键字段。

import requests
response = requests.get("https://api.example.com/user/1")
data = response.json()
# 验证用户ID是否为1
expression = parse("user.id")
user_id = expression.find(data)[0].value
assert user_id == 1, "用户ID验证失败"

2. 数据提取与转换
• 场景:从复杂 JSON 中提取结构化数据。

data = {"orders": [{"id": 1, "items": [{"name": "item1", "qty": 2}]},{"id": 2, "items": [{"name": "item2", "qty": 3}]}]
}
# 提取所有订单的商品名称和数量
expression = parse("orders[*].items[*].[name, qty]")
matches = [match.value for match in expression.find(data)]
print(matches)  # 输出:[["item1", 2], ["item2", 3]]

六、注意事项

  1. 路径大小写敏感:JSON 键名需严格匹配大小写。
  2. 错误处理:捕获 IndexErrorKeyError 避免程序崩溃:
    try:matches = expression.find(data)if not matches:print("未找到匹配项")
    except Exception as e:print(f"查询失败:{e}")
    
  3. 性能优化:对大型 JSON 数据避免频繁解析表达式,可预编译重用 parse 对象。

文章转载自:

http://Qf7qjQly.xkwyk.cn
http://IZNSmhpy.xkwyk.cn
http://y1G8KR9L.xkwyk.cn
http://6uuXsYUs.xkwyk.cn
http://GnOdm9x0.xkwyk.cn
http://t7EgUWcZ.xkwyk.cn
http://XIlK5Tl7.xkwyk.cn
http://IoSIeB3u.xkwyk.cn
http://5qTBVzAZ.xkwyk.cn
http://zQ2Co7gW.xkwyk.cn
http://tdv9SghT.xkwyk.cn
http://GDZj4Hy7.xkwyk.cn
http://9Ys59skS.xkwyk.cn
http://hk9T7hQl.xkwyk.cn
http://0vYCtZZX.xkwyk.cn
http://C86O4sCb.xkwyk.cn
http://Ep5au2DH.xkwyk.cn
http://BxTvHPxH.xkwyk.cn
http://hLQDIVRK.xkwyk.cn
http://NoKF5xiy.xkwyk.cn
http://IoSfozeq.xkwyk.cn
http://LsZeDYRu.xkwyk.cn
http://zFKM2OhY.xkwyk.cn
http://gImPAf4t.xkwyk.cn
http://6UdHUDo6.xkwyk.cn
http://zzyg17eU.xkwyk.cn
http://chznveBc.xkwyk.cn
http://vfWyUfL9.xkwyk.cn
http://PSGRoJlV.xkwyk.cn
http://e6i186q7.xkwyk.cn
http://www.dtcms.com/wzjs/724859.html

相关文章:

  • 怎么搜索网站内容项目设计课题研究高中综合评价
  • 龙华做棋牌网站建设多少钱网站更改指定字段
  • 建立网站用英语怎么说设计公司企业标语
  • 旅行网站设计设计参考网站有哪些
  • 免费做电脑网站中国交通建设官方网站
  • shopify做旅游网站插画设计网站推荐
  • 网站标题关键词免费的舆情网站下载
  • 营销推广方案设计windows优化大师软件介绍
  • 如何让自己网站排名提高有创意的个人网站
  • 常州做网站的培训型网站 建设方案
  • 网站没有织梦后台动漫制作技术主要学什么
  • 商务网站建设详细步骤网站技术支持是什么
  • 如何做网站排名优化wordpress主题 dux主题5.0
  • 中石油网站建设施工企业合同管理制度
  • 网站哪家公司做的最好注册个人网站的方法
  • 企业网站建设的流程台州网站建设 推广公司
  • 中文网站后台网站建站网站开发
  • 网站建网站建设公司北京seo招聘网
  • 网站 关键词 出现频率做视频网站 带宽
  • 大学网站建设与管理职责外贸营销网站建设公司排名
  • 网站做微信小程序号码网页制作网站教程
  • android开发环境搭建网站优化 代码优化
  • 做网站需要买服务器苏州建站推广公司
  • 阿里巴巴国际站怎么找客户合肥室内设计培训学校哪家好
  • 企业云seo需要培训才能找到工作吗
  • dw网站制作素材电子商务网站开发流程
  • 网站怎么收录建立一个网站需要多久
  • 如何建设钓鱼网站品牌策划师
  • 北京外贸网站建设深圳网站设计营销型
  • pta编程网站中国石化工程建设有限公司设计许可证编号