0
我試圖訪問JSON字典中的某些信息字段。我的代碼被設置爲以下幾點:在Django中使用JSON字典
Views.py
def viewIssues(request):
r = requests.get(bucket_url)
issue_payload = r.json()
issue = json.loads(str(issue_payload))
context = {
"issue_title": issue['issues']['title'],
"issue_content": issue['issues']['content'],
"title": "View Issues",
}
return render(request, "view_issues.html", context)
STR(issue_payload)使我這個:
{
'search':None,
'count':1,
'filter':{
},
'issues':[
{
'priority':'major',
'comment_count':0,
'utc_created_on':'2016-11-12 01:48:16+00:00',
'utc_last_updated':'2016-11-12 01:48:16+00:00',
'status':'new',
'title':'example issue',
'reported_by':{
'is_staff':False,
'display_name':'display name',
'is_team':False,
'resource_uri':'/1.0/users/username',
'avatar':'https://bitbucket.org/account/username/avatar/32/?ts=1479493904',
'first_name':'firstname',
'username':'username',
'last_name':'lastname'
},
'is_spam':False,
'content':'blah blah',
'metadata':{
'milestone':None,
'component':None,
'version':None,
'kind':'bug'
},
'local_id':1,
'created_on':'2016-11-12T02:48:16.052',
'resource_uri':'/1.0/repositories/username/supportal2016test/issues/1',
'follower_count':1
}
]
}
然而,當我嘗試使用json.loads和索引['問題'] ['標題']和['問題'] ['標題']我得到一個錯誤:
JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
我想知道是否因爲轉換的有效載荷在每個字段上有引號(即'問題')。任何幫助將非常感激。
這是無效的JSON。應該是雙引號字符串。你不能使用像Python這樣的引號類型。你實際上擁有的是對象的Python表示,而不是JSON。你不需要自己解碼它,因爲''json()''方法已經爲你做了。你最終得到了Python表示法,因爲你對已經是Python對象的東西使用了''str()''。 –
只需刪除此行'issue = json.loads(str(issue_payload))'並使用'issue_payload';它已經是一本字典了。 –