python处理json数据(python 处理json)
本篇文章给大家谈谈python处理json数据,以及python 处理json对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、python json快速解析命令
- 2、Python爬虫(七)数据处理方法之JSON
- 3、如何使用python提取json中指定字段的数据
- 4、Python网络请求和解析json数据
- 5、处理和响应JSON数据
python json快速解析命令
json.dumps 用于将 Python 对象编码成 JSON 字符串。
json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
demjson.encode() 函数用于将 Python 对卖碧象编码成 JSON 字符串芹拍。
demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段嫌配羡的数据类型。
1、以下实例将数组编码为 JSON 格式数据:
#!/usr/bin/python
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.dumps(data)
print json
2、以下实例展示了Python 如何解码 JSON 对象:
#!/usr/bin/python
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print text
Python爬虫(七)数据处理方法之JSON
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,且具有自我描述性,更易理解。
JSON看起来像python类型(列表,字典)的字符串。
在之前的文章中,我们说到了怎么用response的方法,获取到网页正确解码后的字符串。如果还有不懂的,可以先阅读 Python爬虫(三)Requests库 。接下来以有道翻译为例子,说说怎么通过网页解码后的字符串,提取到翻译结果。
再结合上述有道翻译的例子,得到字典类型的返回结果,并提取出来翻译结果。
将上述例子的dict_json换成str字符消祥或串,再写入文本拿伍中。
执行完上述的程序,会得到一个fanyi.txt的文件,其结果如下:{"type": "ZH_CN2EN", "errorCode": 0, "elapsedTime": 1, "translateResult": [[{"src": "\u4eba\u751f\u82e6\u77ed\uff0c\u6211\u7528python", "tgt": "Life is too short, I use python"}]]}。这样子的一份文档,中文部分显示的是二进制,且格式非常不利于阅读,这并不宴笑是我们想要的结果。好在json.dumps()为我们提供的两个方法,以帮助我们更好阅读文档。
1.ensure_ascii,能够让中文显示成中文;
2.indent,能够让下一行在第一行的基础上空格。
其用法如下:
如何使用python提取json中指定字段的数据
首迹樱先你获取的json数据是字符歼租串a的话,就
import json
d = json.loads(a)
x =d.get("想要的字段")
x就是你要氏州兆的数据
[img]Python网络请求和解析json数据
Python 的 json 模块提供了两个函数 json.dumps() 和 json.loads() 来编码和解码JSON数据。
如果要处理的弊液是文件而不是字符串,可以使用 json.dump() 和 json.load() 来编码和解察卜携码JSON数据。例如败伏:
处理和响应JSON数据
处理和响应JSON数据
使用 HTTP POST 方法传到网站服务器的数据格式可以有很多种,比如「获取POST方法传送的数据」课程中讲到的name=Loenpassword=loveyou这种用过符号分割的key-value键值对格式。我们也可以用JSON格式、XML格式。相比斗顷山XML的重量、规范繁琐,JSON显得非常小巧和易用。
如果POST的数据是JSON格式,request.json会自动将json数据转换成Python类型(字典或者列表)。
编写server.py:
from flask import Flask, request
app = Flask("myapp")
@app.route('/add', methods=['POST'])
def add():
print(request.headers)
print(type(request.json))
print(request.json)
result = request.json['n1'] + request.json['n2']
return str(result)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000, debug=True)
编写client.py模拟浏览器请求:
import requests
json_data = {'n1': 5, 'n2': 3}
r = requests.post("", json=json_data)
print(r.text)
运行server.py,然后运行client.py,client.py 会在终端输出:
注意,请求头中Content-Type的值是application/json。
响应JSON
响应JSON时,除了要把响应体改成JSON格式,响应头的Content-Type也要设置为application/json。
编写server.py:
from flask import Flask, request, Response
import json
app = Flask("myapp")
@app.route('/add', methods=['POST'])
def add():
result = {'sum': request.json['n1'] + request.json['n2']}
return Response(json.dumps(result), mimetype='application/json')
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000, debug=True)
修改后运行。
编写client.py:
import requests
json_data = {'n1': 5, 'n2'空中: 3}
r = requests.post("", json=json_data)
print(r.headers)
print(r.text)
运行client.py,将显示:
client终端返回的第一段内容是服务器的响应头,第二段内容是响应体,也就是服务器返回的JSON格式数据。
另外,如果需要服务器的HTTP响应头具有更好的可定制性,比如自定义Server,可以如下修改add()函数:
@app.route('/add', methods=['POST'])
def add():
result = {'sum': request.json['n1'] + request.json['n2']}
resp = Response(json.dumps(result), mimetype='application/json'乎磨)
resp.headers.add('Server', 'python flask')
return resp
client.py运行后会输出:
{'Content-Type': 'application/json', 'Content-Length': '10', 'Server': 'python flask', 'Date': 'Wed, 11
Sep 2019 09:09:18 GMT'}
{"sum": 8}
响应JSON
使用 jsonify 工具函数。
from flask import Flask, request, jsonify
app = Flask("myapp")
@app.route('/add', methods=['POST'])
def add():
result = {'sum': request.json['n1'] + request.json['n2']}
return jsonify(result)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000, debug=True)
运行结果:
关于python处理json数据和python 处理json的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。