【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}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wdwc2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值