[英]python dictionary convert to json not as expected
我正在使用Django 1.8和python 2.7。 我想將數據庫(sqlite3)中的某些數據解析為JSON格式。
view.py:
def json_view(request):
maps = Maps.objects.filter(data_id=3).values('ciudad', 'latitud', 'longitud')
userPos = json.dumps(list(maps))
return JsonResponse({'userPosView': userPos})
通過瀏覽器訪問視圖時,我得到:
{"userPosView": "[{\"latitud\": \"12.1363889\", \"ciudad\": \"Manague\", \"longitud\": \"-86.2513889\"}]"}
問題在於,userPosView看起來像鍵,其余的看起來像是userPosView的單個值
"[{\"latitud\": \"12.1363889\", \"ciudad\": \"Manague\", \"longitud\": \"-86.2513889\"}]".
如果有人可以幫助我,我將不勝感激,因為我無法訪問JSON對象上的經度和緯度值。
為什么要在userPosView中添加所有JSON?
return JsonResponse({'userPosView': userPos})
您可以像這樣返回創建的轉儲
return JsonResponse(userPos)
JsonResponse()
通常會負責將其內容編碼為json,因此最終會對數據進行雙重編碼-一種在您自己的代碼中,第二種在JsonResponse
。 修復很簡單:在將數據傳遞給JsonResponse
之前,不要手動將其編碼為json:
def json_view(request):
maps = Maps.objects.filter(data_id=3).values('ciudad', 'latitud', 'longitud')
return JsonResponse({'userPosView': list(maps)})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.