【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

simplejson处理不严谨JSON python json Invalid control character -zhaokuo719

转载 2013年12月06日 11:36:51

一个标准、严谨的JSON应该如下:

{"title": "\u6587\u7ae0\u6807\u9898\n\u6362\u884c"}


但是在某些情况下,特别是跨语言情况下,JSON可能是这个样子:

{"title": "文章标题
换行"}

这种情况下直接使用 simplejson.loads(json) 有可能报如下错误:

raceback (most recent call last):
  File "testjson.py", line 24, in <module>
    print simplejson.loads(json)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
site-packages/PIL/__init__.py", line 384, in loads
    
  File "build/bdist.macosx-10.5-i386/egg/simplejson/decoder.py", line 402, 
in decode
  File "build/bdist.macosx-10.5-i386/egg/simplejson/decoder.py", line 418, 
in raw_decode
simplejson.decoder.JSONDecodeError: Invalid control character at: line 1 
column 15 (char 15)

simplejson.loads() 有一个手册上没有提及的参数“strict”,这其实是 JSONDecoder 的一个构造参数,即不严格检查JSON语法。

因此,兼容非标准格式的方法即:

simplejson.loads(json, strict=False)


文章来源:http://old.zhigang.net/post/18001#

举报

相关文章推荐

记python中json反序列化的一次问题解决

最新在tornado接收body为json数据时,进行json的反序列化时候遇到一个问题,输入如下: body='{\n\t"pts":[\n\t\t{\n\t\t\t"ddlSqls":"creat...

android项目大全,总有你所需的

注:打开请贴网址,有些直接通过链接打开的不正确。  1.相对布局实例 http://kukuqiu.iteye.com/blog/1018396 2.Log图文详解(Log.v,Log....

python 读取excel --zhaokuo719

#!/usr/bin/python #-*-coding:gbk-*- import xdrlib ,sys import xlrd def open_excel(file= 'file.xlsx'...

如何快速掌握以前没有学过的IT技能

想跟大家探讨如何快速掌握以前没有学过的IT技能,比如拿IOS开发来说。 1.是先大概全面掌握了IOS知识后去做项目好;2. 还是以前从没有接触过IOS,现在边做项目边学习,哪种学习效果好? 缺点对比:...
  • mvcgo
  • mvcgo
  • 2014-04-19 10:06
  • 980

mysql中sql语句使日期增加一年

mysql表中有一些字段是显示日期的。因为各种需要,需要将它时间往后调整1年。 mysql 日期增加一年的更新语句更新的语句如下:     UPDATE table SET date = DATE_A...

使用Python解析豆瓣上Json格式数据

基于兴趣,使用python对豆瓣数据进行解析,解析好的数据可以网页呈现或者进行微信开发服务使用等。

【python】解析json

更多的信息,可以参考python内部的json文档: python>>> help(json) 或者官方文档: http://docs.python.org/library/json.html#...

Unexpected UTF-8 BOM (decode using utf-8-sig)

问题描述: json.loads(text,encoding='utf8') 报Unexpected UTF-8 BOM (decode using utf-8-sig)错误,将encoding改为'...

python爬虫解析json数据报错(unicode error) 'utf-8' codec can't decode byte 0xbb in position 0

先解释一些 概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反...

Python解析json文件报错:'utf8' codec can't decode byte 0xbb in position 0: invalid start byte

今天尝试读一个json文件,一直报错 代码: f = file('relation.json') d = json.load(f)报错: 在使用Python的时候,经常会碰到这个报错,之前一直...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)