python - 如何在Python中将带有“”(而不是“)的JSON字符串转换为JSON
问题描述
我有一个字符串:
a = '"{""key1"": ""val1"", ""key2"":""val2""}"'
将其转换为 Python 中的字典的最适当方法是什么?
plainjson.loads(a)
无法破译这种格式。
编辑: 这个奇怪的 JSON 字符串是在我读取带有一个“类 json”列的 CSV 时创建的。
解决方案
假设字符串来自 CSV 文件,csv
请在将结果传递给解码之前对其json
进行解码。
>>> import io, csv, json
>>> a = '"{""key1"": ""val1"", ""key2"":""val2""}"'
>>> csv_file_like = io.StringIO(a)
>>> reader = csv.reader(csv_file_like)
>>> result = list(reader)
>>> json.loads(result[0][0])
{'key1': 'val1', 'key2': 'val2'}
a
如果已经通过从 CSV 文件中读取进行设置,这会更简单一些;您可以跳过使用io
从原始 CSV 文件创建类似文件的对象a
并csv.reader
直接在原始 CSV 文件上使用。
推荐阅读
- vbscript - 使用 VBScript 来 VLOOKUP 值,或评估公式?
- angular - 由于 Ngrx 版本,Angular 项目面临错误
- scala - Flink 自定义分区功能
- git - Git 和 Docker 团队工作流程
- ios - 单击时未打开avaudioPlayer音频(swift4)
- html - 如何使用 Prettier 在新行上获取结束 HTML 标记?
- javascript - simple-peer removeTrack/removeStream 正在破坏对等体,而不仅仅是删除 mediaStream
- javascript - 如何从传递 2 个参数的函数中仅返回 1 个参数,并能够在另一个函数 (JavaScript) 中访问它
- java - Google Maps SDK [Android]:如何获取/设置热图的 MaxIntensity?
- php - 删除 php 中的 xml 命名空间