whomi13
whomi13
采纳率0%
2017-03-19 11:10

Python读取JSON出现b'和\n'问题

使用Python自带的IDLE,发现读取JSON时会增加一些字符串。代码如下:

 # -*- coding: utf-8 -*- 
import json
from urllib.request import urlopen

def getCountry(ipAddress):
    response=urlopen('http://freegeoip.net/json/'+ipAddress).read()
    print(response)
    responseJSON=json.loads(response)
    return responseJSON.get('country_code')
print(getCountry('50.78.253.58'))

运行环境如下:
Python版本:python 3.5-64位
Windows系统:win10 64位(中文)
默认浏览器:Google chrome 46.0.2490.86
系统默认语言:中文

如图所示:
图片说明
而翻看源码,似乎也没找到这几个字符串的东西:
图片说明
麻烦大家帮忙看看有没有解决办法。系统是不太可能装英文版的了。第一次学习python,就遇到这种问题。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oyljerry oyljerry 4年前

    先看看网页返回的内容是什么编码,然后response需要decode解码一下再用json处理

    点赞 2 评论 复制链接分享
  • Christopher_L1n Christopher_L1n 4年前

    出现在前后,可以用strip()方法删掉。或者用正则匹配就好了

    点赞 评论 复制链接分享

相关推荐