解决Python下json.loads()中文字符出错的问题
作者:哈士奇说喵 发布时间:2022-06-17 21:16:52
标签:Python,json.loads
Python:2.7
IDE:Pycharm5.0.3
今天遇到一个问题,就是在使用json.load()时,中文字符被转化为Unicode码的问题,解决方案找了半天,无解。全部代码贴出,很简单的一个入门程序,抓的是有道翻译的,跟着小甲鱼的视频做的,但是他的版本是python3.4,所以有些地方还需要自己改,不多说,程序如下:
import urllib#python2.7才需要两个urllib
url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
data={}
data['type']='AUTO'
data['i']='i love FishC.com'
data['doctype']='json'#轻量级数据结构
data['xmlVersion']='1.8'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
data['action']='FY_BY_ENTER'
data['typoResult']='true'
data = urllib.urlencode(data).encode('utf-8')
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
html = response.read().decode('utf-8')
print(html)
个人建议就是放在Python Console中执行;当贴完上述代码后,跟着步骤来:
import json
target = json.loads(html)
target#这里先试一下target类型,返回的应该是字典,并且已经被转换成Unicode码了,注意前面的u,待会贴图
want=target['translateResult'][0][0]['tgt']
type(want)#看一下分割后类型,应该是Unicode
上面几步完事之后,不出所料应该是显示这样
u'\u6211\u7231FishC.com'
然后,关键的来了,我一直在寻找一种将Unicode转化成中文的方式,其实,在python2.7中,直接print就可以了,勿喷,我是新手。。。。
print want
又学到一个小知识,Unicode码形式的中文直接可以print显示中文呢,见笑见笑哈。
BTW 至于程序怎么来的,详见图和小甲鱼视频54讲。我只是解决2.7出现的问题。
来源:https://blog.csdn.net/MrLevo520/article/details/51673736


猜你喜欢
- 这篇文章主要介绍了python如何实现不可变字典inmutabledict,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 一、存在问题在v-model想绑定表达式 || 函数方法,发现控制台报错了,不允许这波操作。下面我们分析存在该问题的原因和解决方法。实战经验
- 1、首先计算MD5加密的二进制数组(128位),然后再对这个二进制数组进行base64编码(而不是对32位字符串编码)。例如,用Python
- 实现方法分位三步:在template中设置2个按钮,通过v-if ,v-show来控制;data中设置按钮的默认值;methods中控制点击
- 1. mysql_where子句_聚合函数# ### part 单表查询""" select ... from
- 本文介绍了Vue2 SSR 缓存 Api 数据,分享给大家,具体如下:1. 安装缓存依赖: lru-cachenpm install lru
- 1、定义具名元组需要2个参数,第1个参数是类名,第2个参数是字段名,既可以是可迭代对象(如列表和元组),也可以是空格间隔的字符串:Card
- 每次装完系统之后都要重新安装一些软件,安装软件的时候又要上网查找安装的教程,比较麻烦,所以就自己整理了mysql-8.0.15-winx64
- 1、Caused by: com.MySQL.jdbc.exceptions.jdbc4.CommunicationsException:T
- MySQL 5.7.18免安装版安装教程MySQL是世界上目前最流行的开源数据库。许多大厂的核心存储往往都是MySQL。要安装MySQL,可
- 1.前言pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echar
- 在没学习开窗函数之前,我们都知道,用了分组之后,查询字段就只能是分组字段和聚合的字段,这带来了极大的不方便,有时我们查询时需要分
- 1.下载mysql网址: https://dev.mysql.com/downloads/mysql/2.选择源码包,通用版点击下载直接下载
- 到底什么是Python?•Python是一种解释性语言。Python代码在运行之前不需要编译。其它解释性语言还包括PHP和Ruby。•Pyt
- 1.文件写入#打开文件,路径不对会报错f = open(r"C:\Users\jm\Desktop\pyfile.txt"
- Scala的环境搭建由于scala是基于java来开发的, 编写的java类可以使用javac命令编译成.class文件被JVM加载到内存中
- <div> <a 
- ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁
- django默认是有一个admin的后台管理模块,但是丑,功能也不齐全,但是大神给我们已经集成好了xadmin后台,我们拿来用即可,但是呢,
- 本文实例讲述了Python实现查找数组中任意第k大的数字算法。分享给大家供大家参考,具体如下:模仿partion方法,当high=low小于