如何用python语言去掉前面的jsonp109( 和 最后的 );
jsonp109({
"returnCode": "0",
"returnValue": {
"A": [
{
"id": 3643,
"parentId": 0,
"regionName": "阿坝",
"cityCode": 513200,
"pinYin": "ABA"
},
{
"id": 3090,
"parentId": 0,
"regionName": "阿克苏",
"cityCode": 652900,
"pinYin": "AKESU"
}
]
}
});
也可以考虑正则匹配
import re
import json
s = '''
jsonp109({
"returnCode": "0",
"returnValue": {
"A": [
{
"id": 3643,
"parentId": 0,
"regionName": "阿坝",
"cityCode": 513200,
"pinYin": "ABA"
},
{
"id": 3090,
"parentId": 0,
"regionName": "阿克苏",
"cityCode": 652900,
"pinYin": "AKESU"
}
]
}
});
'''
json_str = re.findall(r'(\{.*\})', s, re.DOTALL)
print(json.loads(json_str[0]))
有帮助的话,请点采纳该答案~
用json库解析一下呀
不知道你这个问题是否已经解决, 如果还没有解决的话:最近在调用一些api时发现返回的是jsonp格式的数据,这些数据的格式基本是这样:
callback&&callback(json_data)
因为json数据中没有括号,所以我们可以使用正则表达式把json_data提取出来。