javascript - python如何优雅的解析jsonp数据?
大家讲道理
大家讲道理 2017-04-11 09:17:13
[JavaScript讨论组]

我这有个接口返回的是jsonp数据,我现在是用一种很土的办法来解析jsonp,就是字符串替换把开头的回调函数名和括号去掉然后再像解析普通json一样解析,请问还有其他更加优雅的办法或者内置的库可以解析jsonp吗?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
伊谢尔伦

python3

import json, re
JSONP = 'callbackFunction(["customername1","customername2"])'
j = json.loads(re.findall(r'^\w+\((.*)\)$',JSONP)[0])
print(type(j),j)

<class 'list'> ['customername1', 'customername2']
天蓬老师

如果你肯定返回的jsonp是安全的情况下可以使用eval

JSONP = 'callbackFunction(["customername1","customername2"])'
def callbackFunction(lists):
    print lists
eval(JSONP)

['customername1', 'customername2']
大家讲道理

都是这么操作的啊,我用php也是这么干的。

阿神

jsonp只能以GET方式请求,为什么你需要解析jsonp?不是只要拼接好返回的js函数名和它的参数不就行吗


我的回答有误,可以在前端给请求的回调函数中加入参数让后台解析,长知识了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号