自学内容网 自学内容网

【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)!