我有一个(可能格式错误的)字符串需要转换为 json 格式。打印出我得到的字符串
{"composemsg":{"return":null,"report":"<p class=\"error j-table-ui-report-entry\">07:39:28 - Action failed<br\/>Error adding row 0<br\/> Message <span class=\"label\">\"Test Message\"<\/span>, Receivers 'Array\n(\n [0] => gaga7\n)\n'<br\/><\/p>",0:""}}
添加:我无法首先修改此字符串或更改生成此字符串的代码。我所拥有的只是上面引用的字符串!
当尝试使用转换字符串(包含在变量'j'中)时
json.loads(j)
我收到一个错误:
ValueError: Expecting property name: line 1 column 250 (char 250)
但是,当在命令行上启动 python 并为打印输出的字符串声明一个变量(将 'null' 替换为 'None')时,它可以正常工作:
In [40]: x = {"composemsg":{"return":None,"report":"<p class=\"error j-table-ui-report-entry\">07:39:28 - Action failed<br\/>Error adding row 0<br\/> Message <span class=\"label\">\"Test Message\"<\/span>, Receivers 'Array\n(\n [0] => gaga7\n)\n'<br\/><\/p>",0:""}}
In [41]: x
Out[41]:
{'composemsg': {0: '','report': '<p class="error j-table-ui-report-entry">07:39:28 - Action failed<br\\/>Error adding row 0<br\\/> Message <span class="label">"Test Message<\\/span>, Receivers \'Array\n(\n [0] => gaga7\n)\n\'<br\\/><\\/p>', 'return': None}}
对这种行为有任何想法吗?原始字符串中是否存在格式错误的地方?我没有看到任何问题。