python - Python JSON编码无效的json格式
问题描述
我卡住了,我有一个带有符号的json,比如'
值和语法中的'
and"
示例混合双 qoute 和单 qoute链接
json ={
'key': "val_'_ue",
'secondkey': 'value'
}
使用 json 加载和 json 转储,我得到了一种str
类型而不是 adict
来迭代,有什么想法可以修复它吗?
print(postParams)# = {'csrf-token': "TOKEN_INCLUDES_'_'_symbols", 'param2': 'params2value'}
jsn_dict2 = json.loads(json.dumps(postParams))
print(type(jsn_dict2)) # ERROR HERE why str and not dict
for key, val in jsn_dict2.items():
print("key="+str(key))
解决方案
您不需要dumps()
已经字符串 json 数据:
jsn_dict = json.loads(json.dumps(res))
应该 :
jsn_dict = json.loads(res)
更新
根据评论,数据看起来像这样:
postParams = "{'csrf-token': \"TOKEN_INCLUDES_'_'_symbols\", 'add-to-your-blog-submit-button': 'add-to-your-blog-submit-button'}"
所以我找到了一个可以帮助损坏的 json 字符串的库,如下所示:
首轮 :
pip install demjson
那么这段代码可以帮助你:
from demjson import decode
data = decode(postParams)
data
>>> {'csrf-token': "TOKEN_INCLUDES_'_'_symbols",
'add-to-your-blog-submit-button': 'add-to-your-blog-submit-button'}
推荐阅读
- java - java.util.Map values() 方法性能
- python - 使用斜杠命令更改 Slack 机器人名称/图像?
- javascript - 如何在 Node.js 中将数据从一种方法传输到另一种方法?
- php - 有重定向时浏览器是否设置 cookie?
- vb.net - InvalidOperationException 未处理 3
- java - IN Intent 发送信息并使用 FLAG_ACTIVITY_CLEAR_TOP
- aurelia - Aurelia 应用程序未使用 au run cli 命令启动
- java - 将项目与 gradle 文件同步时出现问题
- mysql - 如何停止 mysql 移动 MySQL 数据库数据?
- django - 无法在 Django Rest 框架 JSON API 示例项目中创建多态项目实例