from json import loads
jtext = {'24607': ['{"rule":"{{abnormal-key}} != \\"[]\\"","validate":[{"abnormal-key":["set flag_trace"]}]}']}
j1 = jtext
print(j1, type(j1))
j2 = j1["24607"][0]
print(j2, type(j2))
j2 = loads(j2)
j3 = j2["validate"][0]
print(j3, type(j3))
j4 = j3["abnormal-key"][0]
print(j4, type(j4))
为了处理Excel文档,我尝试使用JSON模型将str
转移到dict
。
但我不知道为什么,在这种情况下,j2
应该被转移,j3
不应该转移。
输出:
{'24607': ['{"rule":"{{abnormal-key}} != \\"[]\\"","validate":[{"abnormal-key":["set flag_trace"]}]}']} <class 'dict'>
{"rule":"{{abnormal-key}} != \"[]\"","validate":[{"abnormal-key":["set flag_trace"]}]} <class 'str'>
{'abnormal-key': ['set flag_trace']} <class 'dict'>
set flag_trace <class 'str'>
我的环境是Mac + Python 3.6 + PyCharm社区。 p>
答案 0 :(得分:0)
Python在你编写它时会对它进行处理。
j1
是一本字典
j1["24607"][0]
是一个字符串。 '24607': ['...']
.... '{"rule":"{{abnormal-key}} != \\"[]\\"
是1)引用和2)一个不完整的字典,因为它缺少一个括号。
j2["validate"][0]
是一本字典。内部{}
... "validate": [ {"":[]} ]
j3["abnormal-key"][0]
是一个字符串。这又是值,有引号,'set flag_trace'