我可以从简单字典{}和List[]构建JSON,但是当我试图构建更复杂的结构时。我在输出JSON中嵌入了'\'。在
我想要的结构:
{"name": "alpha",
"results": [{"entry1":
[
{"sub1": "one"},
{"sub2": "two"}
]
},
{"entry2":
[
{"sub1": "one"},
{"sub2": "two"}
]
}
]
}
我得到的是:
^{pr2}$注意嵌入的\\。每次代码通过json.dumps文件另一个\被附加。在
下面的代码几乎可以工作,但不能:
import json
import pprint
testJSON = {}
testJSON["name"] = "alpha"
#build sub entry List
entry1List = []
entry2List = []
topList = []
a1 = {}
a2 = {}
a1["sub1"] = "one"
a2["sub2"] = "two"
entry1List.append(a1)
entry1List.append(a2)
entry2List.append(a1)
entry2List.append(a2)
# build sub entry JSON values for Top List
tmpDict1 = {}
tmpDict2 = {}
tmpDict1["entry1"] = json.dumps(entry1List)
tmpDict2["entry2"] = json.dumps(entry2List)
topList.append(tmpDict1)
topList.append(tmpDict2)
# Now lets' add the List with 2 sub List to the JSON
testJSON["results"] = json.dumps(topList)
pprint.pprint (testJSON)
看看这条线:
tmpDict1["entry1"] = json.dumps(entry1List)
这将指定key entry1具有将entry1List转换为json的字符串输出值。本质上,它将JSON放入JSON字符串中,因此它被转义。要嵌套数据结构,我将使用:
tmpDict1["entry1"] = entry1List
其他地方也一样。一旦有了一个列表和dict树-您只需要在根容器(dict或list)上调用
json.dumps()
一次。在相关问题 更多 >
编程相关推荐