返回信息流python 3
在程序中有一小段代码将网站返回的内容转为json
'''
f = request.urlopen('xxxxxx')
res = f.read().decode('utf-8')
resJ = json.loads(res)
'''
前几天发现了res中可能含有转义符\x08,导致loads抛出异常。我直接暴力replace掉了。
今天又爆出\x100,一个个去replace感觉不现实。
求问,怎么能一次性解决含有转义符导致的json loads失败?
这是一条镜像帖。来源:北邮人论坛 / python / #14744同步于 2016/6/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]\x100
supers
2016/6/30镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
http://api.map.baidu.com/place/v2/search?ak=7tSK3WLVT6rGFlyVDW3Cm5zS9TQxvWDA&page_num=1&page_size=20&q=%E5%9F%B9%E8%AE%AD%E6%95%99%E8%82%B2&bounds=36.093512%2C114.327024%2C36.124697%2C114.366346&output=json
【 在 ztinpn 的大作中提到: 】
: 网址发下?
我解析的是百度地图api返回的json
json也能拿到编码格式?
我在官方看到的编码确实是utf8
【 在 flymyheart 的大作中提到: 】
: 解码不对,有些网站的编码不一定是utf8的
: f.encoding
: f.apparent_encoding
: ...................
用 resJ = json.loads(res,strict=False) 就行。
看下 http://stackoverflow.com/questions/9295439/python-json-loads-fails-with-valueerror-invalid-control-character-at-line-1-c 里的几个答案。
谢谢 我找了半天 都是各种正则匹配 原来……
【 在 ztinpn 的大作中提到: 】
: 用 resJ = json.loads(res,strict=False) 就行。
:
: 看下 http://stackoverflow.com/questions/9295439/python-
: .........
发自「贵邮」