python中json数据中文编码显示的问题

json返回的数据都是用unicode编码的,在python解释器中无法正常显示中文,一直显示的是字符编码。

具体解决方法如下:

1、直接访问

如:
<span style="font-family:Microsoft YaHei;font-size:14px;">city_weather['tmp']
# 假设字典中有key'tmp',而'tmp'对应的值如果不再是字典或列表而是个原子值的话,就会正常显示中文字符</span>

2、解码后再编码
#1、先将json中的数据用json.loads导入到变量a中
a = json.loads(context, encoding='utf-8')

#2、在输出时用如下格式
print str(a).decode('string_escape')
print str(a).decode('unicode_escape')# (当字符用unicode编码时)

输出结果(用天气预报的来测试):

前:
<span style="font-family:Microsoft YaHei;font-size:14px;">{u'txt_d': u'\u591a\u4e91', u'code_d': u'101', u'txt_n': u'\u6674', u'code_n': u'100'}</span>
后:
<span style="font-family:Microsoft YaHei;font-size:14px;">{u'txt_d': u'多云', u'code_d': u'101', u'txt_n': u'晴', u'code_n': u'100'}</span>

关于天气预报,请看我的博客:python天气预报


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值