1、json数据解析
(1)json概念:
JSON 是存储和交换文本信息的语法。类似 XML
JSON 比 XML 更小、更快,更易解析
JSON 是纯文本
JSON 具有"自我描述性"(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输
(2)json应用场景
前台 :由用户看到的界面称之为前台
后台 :管理员负责的查看的,后台管理系统
前端 :html、css、js,在浏览器那一块工作的
后端 :服务器端的,php、java、python
短信发送平台。会提供单独的接口
天气接口。
前端后端交互一般都是json格式。
后端服务器和特定功能服务器之间的交互,后端服务器称之为前端,提供服务的称之为后端,之间交互的格式也是json格式.
(3)json语法
(a)数据都在键值对中
(b)数据以逗号隔开
(c){}保存对象 对应的是咱的字典
(d)[]保存数组
字符串都是以双引号括起来
json的值可以是:数字、字符串、逻辑值、数组、字典、null
例如:
{
"sites": [
{ "name":"baidu" , "url":"www.baidu.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
(4)Python如何解析json?
原生解析,通过字典、列表解析
import json
json.dumps() : 将python的字典或者列表转化为json格式字符串
ensure_ascii = False 输出中文指定为False
json.loads() : 将json格式的字符串转化为Python的对象
json.dump() : 将python对象转化为json字符串之后直接写入到文件中
json.load() : 将文件中的json字符串直接读到python对象中
(5)Jsonpath
jsonpath是用来解析json数据,当解析复杂一点的json数据就要用到这个。
obj[0]['lala']['goudan'][2]['dudu']['xixi']
参考博客文档:
http://blog.csdn.net/luxideyao/article/details/77802389
安装:pip install lxml pip install jsonpath
和xpath对比
/ $ :根元素
/ . :路径分隔符,直接子元素
. @ :当前元素
// .. :任意位置开始查找
下标xpath从1开始,而jsonpath从0开始