【Python处理JSON与JSONP返回数据】
什么是JSON?
JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的对象字面量表示法,广泛用于Web应用程序中数据传输。
示例JSON
{
"name": "Alice",
"age": 30,
"is_student": false,
"courses": ["Math", "Science"]
}
什么是JSONP?
JSONP是一种通过<script>
标签请求数据的技术,通常用于解决跨域请求问题。它将JSON数据包装在一个函数调用中,从而让浏览器执行该函数并处理返回的数据。
示例JSONP
callbackFunction({
"name": "Alice",
"age": 30,
"is_student": false
});
在Python中处理JSON数据
加载JSON数据
在Python中,可以使用json
模块加载JSON数据。
import json
# 示例JSON字符串
json_data = '{"name": "Alice", "age": 30, "is_student": false}'
# 将JSON字符串解析为Python对象
data = json.loads(json_data)
print(data)
# 输出: {'name': 'Alice', 'age': 30, 'is_student': False}
转换Python对象为JSON
同样,json
模块也可以将Python对象转换为JSON字符串:
# Python对象
data = {
"name": "Alice",
"age": 30,
"is_student": False
}
# 将Python对象转换为JSON字符串
json_string = json.dumps(data)
print(json_string)
# 输出: {"name": "Alice", "age": 30, "is_student": false}
在Python中处理JSONP数据
处理JSONP数据的关键是提取回调函数名并解析JSON部分。
import json
import re
# 示例JSONP响应
jsonp_response = 'callbackFunction({"name": "Alice", "age": 30, "is_student": false});'
# 使用正则表达式提取JSON部分
match = re.search(r'^\w+\((.*)\);$', jsonp_response)
if match:
json_data = match.group(1)
data = json.loads(json_data)
print(data)
# 输出: {'name': 'Alice', 'age': 30, 'is_student': False}
原文地址:https://blog.csdn.net/qq_66726657/article/details/143079749
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!