返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python处理json字符串中的非法双引号问题
  • 695
分享到

使用Python处理json字符串中的非法双引号问题

Python 官方文档:入门教程 => 点击学习

摘要

目录python处理JSON字符串中的非法双引号Python json单、双引号问题总结Python处理json字符串中的非法双引号 工作中数据清洗时遇到以下情况: a = '

Python处理json字符串中的非法双引号

工作中数据清洗时遇到以下情况:

a = '{"地区": "湖南", "描述": "精通软件开发、"数据挖掘"和分布式"}'

由于读取出的json字符串中包含有非法双引号,在使用json.loads()处理的时候报错

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 29 (char 28)

写了大半个小时的正则都无法解决

后来使用如下方法解决了,一并把json字符串中的换行符、分隔符和双引号都转义了

def deal_json_invaild(data):
    data = data.replace("\n", "\\n").replace("\r", "\\r").replace("\n\r", "\\n\\r") \
        .replace("\r\n", "\\r\\n") \
        .replace("\t", "\\t")
    data = data.replace('": "', '&&testPassWord&&')\
        .replace('", "', "$$testPassword$$")\
        .replace('{"', "@@testPassword@@")\
        .replace('"}', "**testPassword**")
    print(data)

    data = data.replace('"', r'\"')\
        .replace('&&testPassword&&', '": "').replace('$$testPassword$$', '", "').replace('@@testPassword@@', '{"').replace('**testPassword**', '"}')
    print(data)
    return data

测试如下:

a = deal_json_invaild(a)
json_data = json.loads(a)

> {"地区": "湖南", "描述": "精通软件开发、\"数据挖掘\"和分布式"}

此时转使用json.loads()便不会报错了

Python json单、双引号问题

python3 里,一个json是一个字典,形如 {"a":15}

json转换成字符串的话

那么,如果你要将它转换成字符串,也许你用的是str({"a":15}),这样转出来的,可能是是s= "{'a':'15'}",也就是说,里面的kv是单引号的。这个字符串,传到其他地方,再用json.loads(s)的时候会出错,json不支持单引号。

所以,假如你想把一个json结构,转成字符串,传递给远处,然后再重新解析成json结构,应该这样:

s = json.dumps({"a":15})

然后,把数据传到远端,然后再解析回来:

d = json.loads(s)

这样就不会出错了。

也支持列表,能一次性传多个结构

s = json.dumps([{"a":15}, {"b":20}])

然后,把数据传到远端,然后再解析回来:

d = json.loads(s)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用Python处理json字符串中的非法双引号问题

本文链接: https://lsjlt.com/news/195177.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用Python处理json字符串中的非法双引号问题
    目录Python处理json字符串中的非法双引号Python json单、双引号问题总结Python处理json字符串中的非法双引号 工作中数据清洗时遇到以下情况: a = '...
    99+
    2023-02-08
    Python json字符串 处理json的非法双引号 Python处理json字符串
  • python封装json格式字符串并处理单双引号问题
    在使用python做web服务的时候会有数据交互的情况,大多数目前会采用json格式的数据来交互,接收者接收到标准的json格式数据后,会比较方便解析数据。 我这里有一个场景是将三个...
    99+
    2024-04-02
  • python如何封装json格式字符串并处理单双引号问题
    这篇文章主要介绍了python如何封装json格式字符串并处理单双引号问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何封装json格式字符串并处理单双引号问题文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • 如何处理json中不带双引号的key的问题
    目录处理json中不带双引号key问题如下面数据结果报错怎么解决呢?json数据key值有引号与没引号的取值有的json数据的键值是没有引号的有的返回值的键值是由引号的第一种json...
    99+
    2024-04-02
  • python处理json字符串(使用json.loads而不是eval())
    eval 跟json.loads 是不一样的函数,是有实现不一样功能的地方,但是在某些地方它们两个函数的功能是一样的,在这个时候如果对执行效率有一定要求的话,建议不要用eval,改用...
    99+
    2024-04-02
  • C++中字符串处理问题的解决方法
    C++中字符串处理问题的解决方法概述:在C++编程中,字符串的处理是一个常见的问题,涉及到字符串的截取、拼接、查找、替换等操作。本文将介绍几种常用的解决方法,并提供具体的代码示例。一、字符串截取字符串截取是指从一个字符串中获取一部分子串。在...
    99+
    2023-10-22
    C++ 解决方法 字符串处理
  • C++中字符串处理问题的详解
    C++中字符串处理问题的详解在C++编程中,字符串处理是一个非常常见的任务。无论是读取用户输入、从文件中读取数据、或者进行数据处理和格式转换,字符串处理都扮演了重要的角色。本文将介绍C++中常见的字符串处理问题,并提供具体的代码示例。字符串...
    99+
    2023-10-22
    C++ 字符串处理 问题详解
  • 如何在Python中处理字符串操作的问题
    如何在Python中处理字符串操作的问题Python作为一种高级编程语言,具有强大的字符串处理能力。在日常开发中,字符串操作是非常常见的操作之一。本文将介绍如何在Python中高效地处理字符串,同时附带具体的代码示例。字符串的拼接和格式化字...
    99+
    2023-10-22
    字符串处理 Python字符串操作 字符串处理技巧
  • Oracle SQL和PL/SQL中字符串单引号的处理
    在 Oracle 的查询中,经常因为字符串要添加单引号,但是单引号的位置和个数往往不易把握。很多朋友都问过这样的问题。 请看以下查询,最外层的两个单引号作为引号操作符,第二个作为转义符号,随意第三个单引号是...
    99+
    2024-04-02
  • Python中怎么用replace()处理和替换JSON字符串
    在Python中,可以使用replace()方法来处理和替换JSON字符串。下面是一个示例: import json # 原始JS...
    99+
    2024-04-02
  • PHP字符串处理:去掉符号的实用方法
    PHP作为一种流行的服务器端脚本语言,被广泛用于开发Web应用程序。在处理字符串时,经常会遇到需要去掉特定符号的情况。本文将介绍一些实用的方法和具体的代码示例,帮助读者更好地处理字符串...
    99+
    2024-04-02
  • 如何解决oracle插入字符串数据时字符串中有'单引号的问题
    这篇文章给大家分享的是有关如何解决oracle插入字符串数据时字符串中有'单引号的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用insert into(field...
    99+
    2024-04-02
  • C++中字符串处理问题及解决方法概述
    C++中字符串处理问题及解决方法概述摘要:字符串处理是编程中常见的任务之一,尤其在C++中,对字符串的操作有时会遇到一些困难。本文将概述C++中常见的字符串处理问题,并提供相应的解决方法,并附上具体的代码示例。字符串长度超过限制问题描述:当...
    99+
    2023-10-22
    字符串处理问题 C++字符串解决方法 字符串处理概述
  • 浅谈Python处理json字符串为什么不建议使用eval()
    目录一、前言二、Json.loads与eval 性能对比1. eval2. json.loads一、前言 最近发现一些小伙伴使用eval来处理json,而且为了能够将json成功转...
    99+
    2024-04-02
  • python中有哪些处理字符串的方法
    本篇文章给大家分享的是有关python中有哪些处理字符串的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、join:将一个序列中的元素用某个字符(串)拼接,组成一个大的字...
    99+
    2023-06-15
  • 用Python处理多行字符串时要注意哪些问题
    处理多行字符串时,有几个注意事项需要考虑: 使用三重引号(‘’’ 或 “”")来表示多行字符串,可以避免在字符串中使用转...
    99+
    2024-04-02
  • python常用的六个字符串处理方法
    1.upper(将小写字母转换为大写) 语法:        str.upper() 参数:         NA 实例: a = 'abc' b = a.upper() print(b) 结果:         ABC     2....
    99+
    2023-01-31
    字符串 常用 方法
  • PHP字符串中处理空格和符号的方法有哪些
    这篇文章主要介绍“PHP字符串中处理空格和符号的方法有哪些”,在日常操作中,相信很多人在PHP字符串中处理空格和符号的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP字符串中处理空格和符号的方法...
    99+
    2023-07-05
  • 如何使用Python的replace()和str.split()处理字符串
    在Python中,可以使用replace()和str.split()方法来处理字符串。replace()方法用于替换字符串中的指定子...
    99+
    2024-04-02
  • 【整理分享】PHP字符串中一些处理中空格和符号的方法
    在PHP编程过程中,经常需要处理字符串中的空格和符号,例如在表单输入中去除用户输入的空格、在搜索引擎中处理搜索关键词、在生成URL中去除特殊字符等等。本文将介绍一些PHP中处理字符串中空格和符号的方法。一、去除空格1.使用trim...
    99+
    2023-05-14
    php php字符串
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作