用python中的json.loads解析字符串,失败了。

【解决过程】

1.调试了半天,终于发现,如果把其中的:

"呵呵加那么多连接啊\n\n这个标准还是不错的\n\n给大家推荐一个更多的信息平台\n\nwww.hfei4c.cn ",

中的\n去掉,然后json.loads就可以正确解析了。

2.然后就去搜了下,json.loads解析带\n的字符串会失败,相关的帖子,找到了

python json.loads error

其给出了解决办法:

json.loads(s.replace(‘\r\n’, ”));

json.loads(s.replace(‘\r\n’, ‘\\r\\n’));

3.我自己去试了试,结果发现上述代码没用。

对应的用这样的代码:

dataJsonStr = dataJsonStr.replace("\\n", "");
dataDict = json.loads(dataJsonStr);

才是可以的,即把其中的\n去掉,然后json.loads才可以解析。

而那人给出的办法,是把真正的\r\n的回车换行的控制字符去掉,却没有把\n这两个字符去掉,因此不可以。

而只有通过\\n表示\和n这两个字符,去掉,然后才可以。

【总结】

如果字符串中包含\n这样的字符的话,json.loads解析出错的话,那么用类似于这样的代码:

dataJsonStr = dataJsonStr.replace("\\n", "");

把\n的字符去掉,然后再解析,就可以了。

Python中json.loads解析包含\n的字符串会出错的更多相关文章

  1. 【转】python中json.loads与eval的区别

    JSON有两种结构: “名称/值”对的集合(A collection of name/value pairs).不同的语言中,它被理解为对象(object),纪录(record),结构(struct) ...

  2. python中json.loads,dumps,jsonify使用

    search_info = {'id':132,'user_role':3} print type(search_info) #输出 <type 'dict'> #转为string用dum ...

  3. python中json.dumps使用的坑以及字符编码

    我们知道,python中的字符串分普通字符串和unicode字符串,一般从数据库中读取的字符串会自动被转换为unicode字符串 下面回到重点,使用json.dumps时,一般的用法为: >&g ...

  4. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  5. js中JSON的解析(将json字符串转化为对象)和序列化(将对象转化为json字符串)(函数的功能一般都挺全的,需要的时候去查看完整函数)

    js中JSON的解析(将json字符串转化为对象)和序列化(将对象转化为json字符串)(函数的功能一般都挺全的,需要的时候去查看完整函数) 一.总结 1.JSON解析:JSON.parse(myJS ...

  6. 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容

    一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSo ...

  7. 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容

    一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...

  8. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  9. Python中的列表解析和生成器表达式

    Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...

随机推荐

  1. 前端nginx后端tomcat记录真实ip

    修改nginx主配置文件:/usr/local/nginx/conf/nginx.conf proxy_set_header Host $host; proxy_set_header X-Real-I ...

  2. Python出现"Non-ASCII character '\xe6' in file"错误解决方法

    就没有问题,所以我猜测应该是编码的问题,在网上查了下答案,在第一行加上这样一句话: # encoding: utf-8 将编码格式改变为utf-8问题就解决了!

  3. Maven学习笔记1

    Maven是什么? 百度百科:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 这些描述总是让人更加难理解Maven,扔掉它,咱们先看看Mave ...

  4. csu1216( Trie )

    csu1216 题意 给定一些数,求这些数中两个数的异或值最大的那个值. 分析 转化成二进制数存入字典树,比如说要查询 \(0011\) ,显然和 \(1100\) 结合最优,所以我们直接在字典树上寻 ...

  5. oracle to_char FM099999

    to_char(column,'FM099999') The FM in the format removes leading and trailing blanks.

  6. 谜题12:ABC

    这个谜题要问的是一个悦耳的问题,下面的程序将打印什么呢? public class ABC{ public static void main(String[] args){ String letter ...

  7. c++基础学习之string

    //学习使用string类 2013-10-18 lingc #include <iostream> #include <string>//include this head ...

  8. 【字符串哈希】【BKDRhash】【Rabin-Karp算法】模板

    #include<cstdio> #include<iostream> #include<cstring> #include<string> #incl ...

  9. 1.4(java学习笔记) 面向对象内存分析

      首先介绍几个概念 栈: 1.栈是方法执行的内存模型,每调用一个方法都会创建一个栈帧. 2.jvm为每个线程创建一个栈,存放方法相关信息,栈属于线程私有不共享. 3.栈由系统自动分配,是连续的内存空 ...

  10. less 命令详解!

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...