我正在使用Python(2.7)’json’模块来处理各种JSON feed。不幸的是,这些提要中的某些不符合JSON标准-

特别是某些键没有用双语音标记(“)包装。这导致Python出现错误。

我想写一个丑陋的代码来解析和修复传入的数据之前,我想问一下-有什么方法可以让Python解析此格式错误的JSON或“修复”数据,以便有效的JSON?

工作实例

import json

>>> json.loads('{"key1":1,"key2":2,"key3":3}')

{'key3': 3, 'key2': 2, 'key1': 1}

破例

import json

>>> json.loads('{key1:1,key2:2,key3:3}')

Traceback (most recent call last):

File "", line 1, in

File "C:\Python27\lib\json\__init__.py", line 310, in loads

return _default_decoder.decode(s)

File "C:\Python27\lib\json\decoder.py", line 346, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "C:\Python27\lib\json\decoder.py", line 362, in raw_decode

obj, end = self.scan_once(s, idx)

ValueError: Expecting property name: line 1 column 1 (char 1)

我编写了一个小的REGEX来修复来自此特定提供程序的JSON,但我认为这将是将来的问题。以下是我的想法。

>>> import re

>>> s = '{key1:1,key2:2,key3:3}'

>>> s = re.sub('([{,])([^{:\s"]*):', lambda m: '%s"%s":'%(m.group(1),m.group(2)),s)

>>> s

'{"key1":1,"key2":2,"key3":3}'

python 惰性属性_在Python中处理惰性JSON-“期望属性名称”相关推荐

  1. java 抽象 属性_在java中如何定义一个抽象属性示例详解

    前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给 ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  4. python类的属性和对象属性_在python的类中动态添加属性与生成对象

    本文将通过一下几个方面来一一进行解决 1.程序的主要功能 2.实现过程 3.类的定义 4.用生成器generator动态更新每个对象并返回对象 5.使用strip 去除不必要的字符 6.rematch ...

  5. python中bd是什么属性_聊一聊:Python中对象的属性

    作者:Vamei 出处:http://www.cnblogs.com/vamei Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的 ...

  6. 封装属性_「Python基础学习」之封装大法

    在程序设计中,封装是对具体对象的一种抽象,简单来说就是将某些部分隐藏起来,在程序外部看不到,这个看不到不是说人用眼睛看不到那个代码,其含义是其它的程序无法调用. 要了解封装,离不开"私有化& ...

  7. python中立方表示_在Python中表示一个对象的方法

    在 Python 中一切都是对象.如果要在 Python 中表示一个对象,除了定义 class 外还有哪些方式呢?我们今天就来盘点一下. 0x00 dict 字典或映射存储 KV 键值对,它对查找.插 ...

  8. python color属性_使用Python制作一个带GUI界面的词云自动生成工具(连载七)

    前几篇向大家介绍了词云自动生成工具(GUI)的详解GUI词云自动生成工具中词云属性设置界面的实现(连载六).通过前面内容我们基本构建出了词云自动生成工具的主要框架.本篇结合tkinter中的filed ...

  9. python预定义_【Python】python类中方法的预定义

    知乎问题: 像这个图片里面显示的,self.prediction首先声明了下然后下面给出了定义,然后optimize又调用这个函数但是没有用self.prediction()这样的方式而是像用变量一样 ...

  10. python画图模糊_使用python matplotlib 画图导入到word中如何保证分辨率

    在写论文时,如果是菜鸟级别,可能不会花太多时间去学latex,直接用word去写,但是这有一个问题,当我们用其他工具画完实验彩色图时,放到word中会有比较模糊,这有两个原因导致的. 原因一:图片导入 ...

最新文章

  1. ServiceModel 元数据实用工具 (Svcutil.exe)
  2. 织梦换了html模板样式没了,织梦(dedecms)如何更换网站模板?
  3. SpringBoot中使用hikariCP
  4. BAT解密:互联网技术发展之路(5)- 开发层技术剖析
  5. ElementUI中el-select请求springboot后台数据显示下拉项并在el-table中格式化显示
  6. Log4Net 全方位跟踪程序运行
  7. 微信你scope 参数错误 php,微信开发: scope参数错误或没有scope权限解决方法
  8. BZOJ 4518: [Sdoi2016]征途 [斜率优化DP]
  9. .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
  10. python模块与类的区别_Python类、模块、包的概念及区别
  11. 深度优先搜索-和为某数的所有组合
  12. ADB server didn't ACK问题
  13. c++求解自行车慢速比赛问题_隐马尔可夫模型(模型推断五大问题)
  14. tensorflow之cast
  15. PS打开PSD文档服务器未响应,psd文件打不开怎么办-psd文件打不开的解决方法 - 河东软件园...
  16. 语音识别算法_开源语音识别算法_语音 识别 - 云+社区 - 腾讯云
  17. “方正小标宋简体、仿宋_GB2312和楷体_GB2312字体”的添加
  18. 神州数码笔试题C语言,神州数码笔试
  19. 【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式小结
  20. 大数据开发的前景和就业如何?该如何去学习它?

热门文章

  1. 激光干涉仪使用方法_激光干涉仪选择几点建议「智能制造2025」
  2. 计算机表格按性别排列,Excel表格性别数据-Excel 按性别(男女)排序
  3. 高德,百度,Google地图定位偏移以及坐标系转换
  4. ubuntu14.04安装arm-linux-gcc,Ubuntu14.04下arm-linux-gcc交叉编译环境搭建
  5. redis取值偶尔取不到_redis 入门
  6. PostgreSQL版本通过pg_upgrade升级(9.6.21升级到13.2)
  7. 腾讯云blog:孪生网络入门(上) Siamese Net及其损失函数
  8. 步骤一:入门linux基础/01Linux简介和安装/002Linux发行版的介绍
  9. 安卓查看php文件是否存在,Android_Android编程判断SD卡是否存在及使用容量查询实现方法,本文实例讲述了Android编程判断 - phpStudy...
  10. 奇淫技巧之整形数组偏移量