繁体   English   中英

如何将以下奇数字符串转换为python中的json?

[英]How to convert the following odd string into json in python?

如何在python中将此字符串转换为json?

>>> data = '[for: css=a[title="See LLCAutoSept files"]]'
>>> json.dumps(data)
'"[for: css=a[title=\\"See LLCAutoSept files\\"]]"'

我尝试使用json.dumps(),但是无法在jsonlint.com上验证输出json

您正在查看Python字符串表示形式。 这是有效的Python代码, 包含有效的JSON。

打印值:

>>> imp
>>> data = '[for: css=a[title="See LLCAutoSept files"]]'
>>> print json.dumps(data)
"[for: css=a[title=\"See LLCAutoSept files\"]]"

JSONlint使用的是更旧更严格的RFC 4627 ,它要求顶层是数组或对象,因此它不会验证JSON字符串。

但是,Python的json.dumps()会产生有效的RFC 7159输出。

如果您的应用程序要求符合JSONlint,则一定要添加一个列表或字典:

>>> print json.dumps([data])
["[for: css=a[title=\"See LLCAutoSept files\"]]"]
>>> print json.dumps({'data': data})
{"data": "[for: css=a[title=\"See LLCAutoSept files\"]]"}

JSONlint.com会验证这两个都是有效的。

一段时间以来,RFC 4627,ECMA-262和ECMA-404引起了很大的混乱,实际的实现方式在允许的范围上存在分歧。 至少RFC 7159现在就此同意ECMA-404。 另请参阅什么是最低有效JSON?

这是无效的json,因为它没有数组的键,也没有用于打开和关闭大括号或方括号的键,因此您无法在jsonlint.com上对其进行验证

这对我有用

data = {'string':'[for: css=a[title="See LLCAutoSept files"]]'}
print(json.dumps(data))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM