我是python的新手。
我正在形成一个json字符串,以接收来自各种REST调用的输入。
类似的东西:
{
"-gammaid#10191-":{
"domain":"Kids Interest",
"product":"Project1"
},
"-gammaid#10382-":{
"domain":"Weekend Classes",
"product":"Project2"
},
"-gammaid#10442-":{
"domain":"Knowledge Driven",
"product":"Project3"
},
"-gammaid#10620-":{
"domain":"Primary Education",
"product":"Project4"
},
"-gammaid#10986-":{
"domain":"Other Domain",
"product":"Project5"
},
"-gammaid#10987-":{
"domain":"Kids Interest",
"product":"Project6"
},
"-gammaid#10996-":{
"domain":"External Classes",
"product":"Project7"
},
"-gammaid#11663-":{
"domain":"Parent Interaction",
"product":"Project8"
}
}
如您所见,每个键 gammaid 都有一个json结构化值。
运行my_json.get("-gammaid#11663-")
时,我会得到
AttributeError: 'str' object has no attribute 'get'
答案 0 :(得分:2)
您需要先将其解析为字典:
import json
s = 'YOUR JSON STRING'
d = json.loads(s)
print(d["-gammaid#11663-"])
答案 1 :(得分:0)
如果您这样定义它:
s={
"-gammaid#10191-":{
"domain":"Kids Interest",
"product":"Project1"
},
"-gammaid#10382-":{
"domain":"Weekend Classes",
"product":"Project2"
}
这是python字典。 这样您就可以访问这样的值:
s["-gammaid#11663-"]
{'domain': 'Parent Interaction', 'product': 'Project8'}
如果您实际上需要获取json对象,可以这样做:
import json
json.loads(json.dumps(s))