详细的jsonpath教程

目录

关于JSON

构造字符

JSON值

对象

数组

为什么要使用JSON

JSON的使用方法

json.loads()

json.dumps()

json.load()

json.dump()

jsonpath

jsonpath的安装方法

jsonpath与Xpath

获取符合条件的节点

使用指定索引

使用过滤器

JsonPath 在线验证工具


关于JSON

JSON是一个标记符序列。这套标记符包括:构造字符、字符串、数字和三个字面值

构造字符

JSON包括六个构造字符,分别是:左方括号、右方括号、左大括号、右大括号、冒号与逗号。

JSON值

JSON值可以是对象、数组、数字、字符串或者三个字面值(false、true、null),并且字面值必须是小写英文字母。

对象

对象是由花括号括起来,逗号分割的成员构成,成员是字符串键和上面所说的JSON值构成,例如:

{"name":"jack","age":18,"address":{"country"}}

数组

数组是由方括号括起来的一组数值构成,例如:

[1,2,32,3,6,5,5]

字符串与数字想必就不用我过多叙述吧。

下面就举例一些合法的JSON格式的数据:

{"a":1,"b":[1.2.3]}
[1,2,"3",{"a":4}]
3.14
"json_data"

为什么要使用JSON

JSON是一种轻量级的数据交互格式,它使得人们很容易的进行阅读和编写。同时也方便机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

JSON的使用方法

json.loads()

把JSON格式字符串解码转成Python对象,从JSON到Python类型转换表如下:

JSON Python
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None
  • 将数组转成列表对象
import json


strList = "[1,2,3,3,4]"
print(json.loads(strList))
print(type(json.loads(strList)))

试着运行上面的代码,你会发现已经成功的将strList转换为列表对象。

[1, 2, 3, 3, 4]
<class 'list'>

  • 将对象转换成字典
import json


strDict = '{"city":"上海","name":"jack","age":18}'
print(json.loads(strDict))
print(type(json.loads(strDict)))

试着运行上面的代码,你会发现已经成功的将object转换为dict类型的数据。

{'city': '上海', 'name': 'jack', 'age': 18}
<class 'dict'>

json.dumps()

其实这个方法也很好理解,就是将Python类型的对象转换为json字符串。从Python类型向JSON类型转换的对照表如下:

python JSON
dict object
list, tuple array
str string
int, float</
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JsonPath是一种用于解析JSON文档的语法,类似于XPath对于XML文档的作用。通过使用JsonPath,可以方便地查找节点并获取所需的数据。JsonPath提供了一种简洁而强大的方式来处理和操作JSON数据。 具体的JsonPath语法可以参考\[2\]中提供的链接,其中有详细的说明和示例。在使用JsonPath时,可以使用一些特殊的符号和表达式来指定要查找的节点和数据。例如,使用"$"表示根节点,使用"."表示当前节点,使用"\[\]"表示数组索引,使用"*"表示通配符等等。 下面是一个示例代码,展示了如何使用JsonPath来获取JSON数据中的作者信息: ```python import jsonpath # 假设data_json是一个包含JSON数据的变量 author = jsonpath.jsonpath(data_json, '$.store.book\[*\].author') print(author) ``` 在这个示例中,`data_json`是一个包含JSON数据的变量,`$.store.book\[*\].author`是一个JsonPath表达式,它表示要获取`store`节点下的所有`book`节点的`author`字段的值。通过调用`jsonpath.jsonpath`函数并传入相应的参数,可以获取到符合条件的作者信息。 希望以上信息能够帮助到您。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [详细jsonpath教程](https://blog.csdn.net/xiaodeng2017/article/details/124905029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JsonPath完全介绍及详细使用教程](https://blog.csdn.net/qq_36595013/article/details/109455924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值