改变Django中的json结构

时间:2015-12-01 12:18:33

标签: python json django

在使用Django模型之前,我从来没有必要改变json结构,所以我可能提出了一个完全愚蠢的问题。

我的数据库中有一些数据,想要以json格式解析它。 我的view.py(有点简化)是:

def get_json(request):
    pos = Pos.objects.filter(id=1).values('lat', 'lon','id')
    return JsonResponse ({'position': list(pos)})

结果我得到了这个json对象:

{ "position": [{"lat": "21", "id": 1, "lon": "21"}, {"lat": "22", "id": 1, "lon": "22"}, {"lat": "23", "id": 1, "lon": "23"}]}

为了减少无用数据的数量,我需要得到一个像这样的json结构:

{"id":"1", "position":{"lats":[21,22,23], "longs":[21,22,22]} }

如果sombody可以帮助我,我将不胜感激

1 个答案:

答案 0 :(得分:1)

您需要处理数据;你可以在视图功能中做任何你喜欢的事。

pos = Pos.objects.filter(id=1).values('lat', 'lon','id')
data = {"lats": [], "longs": []}
for p in pos:
    data["lats"].append(p['lat'])
    data["longs"].append(p['long'])
return JsonResponse({'position': data})