转自:

https://blog.csdn.net/felcon/article/details/38524317

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写,同时也易于机器解析和生成。

写爬虫程序时发现页面很多内容都是基于json传输的,而且都是unicode编码,需要读取并转换为汉字,这可以直接使用python的json包处理

python的json.dumps方法默认会输出成这种格式"\u535a\u5ba2\u56ed",。
要输出中文需要指定ensure_ascii参数为False,如下代码片段:
json.dumps({'text':"中文"},ensure_ascii=False)

json的一个简单示例为:

{ "firstName":"Bill" , "lastName":"Gates" }

其中“firstName”和”lastName“为健(key),“Bill”和“Gates”为值(value)

首先需要导入json包

import json

使用

info = json.JSONDecoder().decode(info)

可以读取json数据,同时将unicode转换为汉字

使用

info["firstName"]

来读取健”firstName"所对应的值“Bill”

比如最近爬爆米花视频,得到存储数据的是unicode的,要获取里面的list,就可以使用上面的方法

response.text =
{
"Videolist":[{"appID":"35943","appName":"逗影视频","appPic":"//p001.baomihua.com/b94ec748-abcf-4096-ba42-cc986d28ea83_61503983.png","appUrl":"//www.baomihua.com/user/35943","videoId":"38136258","videoTitle":"如今拉客都用这套路?长点心吧!贪小便宜吃大亏","videoCost":"00:22","videoPlayUrl":"//video.baomihua.com/v/38136258","videoImgUrl":"//img04.video.baomihua.com/x/38136258.jpg","companyName":"太原瑞宝达文化传媒有限公司","isRec":"0"},{"appID":"34845","appName":"娱闻壹姐","appPic":"//p001.baomihua.com/1e3abb19-64a7-4c3a-9845-da1e15cec126.jpg","appUrl":"//www.baomihua.com/user/34845","videoId":"38134456","videoTitle":"蔡徐坤微博大方表白!内容让粉丝们彻夜难眠,不愧是偶像!","videoCost":"01:07","videoPlayUrl":"//video.baomihua.com/v/38134456","videoImgUrl":"//img04.video.baomihua.com/x/38134456.jpg","companyName":"杭州匠星影视传媒有限公司","isRec":"0"},{"appID":"34923","appName":"嗨儿原创","appPic":"//p001.baomihua.com/f1613b50-a19a-4ddb-82c8-393edba276ab.jpg","appUrl":"//www.baomihua.com/user/34923","videoId":"38134104","videoTitle":"张馨予结婚嫁给了老实人,李晨没祝福!","videoCost":"04:01","videoPlayUrl":"//video.baomihua.com/v/38134104","videoImgUrl":"//img04.video.baomihua.com/x/38134104.jpg","companyName":"秦皇岛屿海文化传媒有限公司","isRec":"0"}]
} content = json.JSONDecoder().decode(response.text)
print type(content["Videolist"]) #输出: <type 'list'>

Python下读取转换unicode的json格式的更多相关文章

  1. 利用python将excel数据解析成json格式

    利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...

  2. python下读取excel文件

    项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...

  3. python读取excel数据为json格式(兼容xls\xlsx)

    做自动化时需要从excel读取数据: 本文实现将excel文件数据读取为json格式,方便自动化调用 读取xls文件 使用xlrd读取xls文件代码: import xlrd def read_xls ...

  4. 如何使用python内置的request发送JSON格式的数据

    使用步骤如下: 一.如果想发送json格式的数据,需要使用request模块中的Request类来创建对象,作为urlopen函数的参数 二.header中添加content-type为applica ...

  5. Flask(python)异步(ajax)返回json格式数据

    主要讨论两个问题,第一个是关于json.dumps 与jsonify区别,第二个是几种异步的区别(见jQuery中的$.getJSON.$.ajax.$.get.$.post的区别). json.du ...

  6. Python中读取文件中的json串,并将其写入到Excel表格中

    Json:JavaScript Objective Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用语http请求中, ...

  7. extjs +String2 +Spring 下的分页 以及返回json格式错误的问题

    首先,分页  很简单. 1前台extjs数据源, var shipMgrStore = Ext.create('Ext.data.Store', { model: 'App.ShipMgr.model ...

  8. jquery读取csv文件并用json格式输出

    直接贴上代码: <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Untit ...

  9. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换

    python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...

随机推荐

  1. c++刷题(9/100):链表

    题目一:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tP ...

  2. 天梯赛 L2-002. (模拟) 链表去重

    题目链接 题目描述 给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点.即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留.同时,所有被删除的结点必须被保存 ...

  3. C#中2个日期类型相减

    DateTime startTime = Convert.ToDateTime("2017-1-9");DateTime endTime = Convert.ToDateTime( ...

  4. Resouce, platform_device 和 platform_driver 的关系【转】

    转自:http://blog.csdn.net/uruita/article/details/7278313 從2.6版本開始引入了platform這個概念,在開發底層驅動程序時,首先要確認的就是設備 ...

  5. 2018 CCPC网络赛

    2018 CCPC网络赛 Buy and Resell 题目描述:有一种物品,在\(n\)个地点的价格为\(a_i\),现在一次经过这\(n\)个地点,在每个地点可以买一个这样的物品,也可以卖出一个物 ...

  6. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin 概率+矩阵快速幂

    题目链接: https://nanti.jisuanke.com/t/17115 题意: 询问硬币K次,正面朝上次数为偶数. 思路: dp[i][0] = 下* dp[i-1][0] + 上*dp[i ...

  7. Deploy Openstack all-in-one Shell Script

    Deploy Openstack all-in-one Shell Script At present(2015/10), the RDO deploment method can only inst ...

  8. ubuntu 16.04 网卡配置 虚拟机上网

    看所有网卡(包括未启动的) ifconfig -a 或者 ip link 查看当前网卡配置,打开配置文件/etc/network/interfaces 设置静态IP(dhcp 为动态获取,static ...

  9. TF-tf.nn.dropout介绍

    官方的接口是这样的 tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 根据给出的keep_prob参数,将输入te ...

  10. sem_open中信号量命名

    问题: sem_open will failed with "No such file or directory"   解释1: 这是由于在Linux内核中,创建信号量的默认路径是 ...