我有以下的JSON:Python的解码JSON
{
"slate" : {
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"code" : {
"type" : "integer",
"fk" : "banned.id"
}
},
"banned" : {
"id" : {
"type" : "integer"
},
"domain" : {
"type" : "string"
}
}
}
我想弄清楚最好解码方法有它的一个容易浏览的Python对象的介绍。
我想:
import json
jstr = #### my json code above ####
obj = json.JSONDecoder().decode(jstr)
for o in obj:
for t in o:
print (o)
,但我得到:
f
s
l
a
t
e
b
a
n
n
e
d
而且我不明白这是怎么回事。理想的做法是一棵树(甚至在树的方式组织了一个清单),我可以浏览莫名其妙喜欢:
for table in myList:
for field in table:
print (field("type"))
print (field("fk"))
宽足以达到这种预期的Python的内置JSON API程度?
我会避开三重嵌套for循环。 – Blairg23 2014-12-09 22:52:26
@ Blairg23你会怎么做,而不是通过已知格式的JSON进行处理? – Jeremy 2017-06-29 13:49:59
@Jeremy如果您知道数据结构,只需引用键即可获取值。在这个例子中,当他只是说'slate_id_type = obj ['slate'] ['id'] ['type']''时,他使用了一个三重嵌套for循环。既然我们假设他将这些值用于某些事情,那么最好还是在那里宣布它们。无论如何,做得更清楚些。 – Blairg23 2017-06-30 00:19:25