Как я могу сериализовать словарь Python в JSON и передать обратно в javascript, который содержит строковый ключ, тогда как значение представляет собой List (т.е. [])Сериализовать словарь со строковым ключом и значением List [] для JSON
if request.is_ajax() and request.method == 'GET':
groupSet = GroupSet.objects.get(id=int(request.GET["groupSetId"]))
groups = groupSet.groups.all()
group_items = [] #list
groups_and_items = {} #dictionary
for group in groups:
group_items.extend([group_item for group_item in group.group_items.all()])
#use group as Key name and group_items (LIST) as the value
groups_and_items[group] = group_items
data = serializers.serialize("json", groups_and_items)
return HttpResponse(data, mimetype="application/json")
результат:
[{"pk": 5, "model": "myApp.group", "fields": {"name": "\u6fb4\u9584", "group_items": [13]}}]
в то время как group_items должны иметь много group_item и каждый group_item должен иметь "имя", а не только Id, в этом случае Id является 13.
I необходимость для сериализации имени группы, а также идентификатора и имени group_item как JSON и возврата к javascript.
Я новичок в Python и Django, пожалуйста, советую мне, если у вас есть лучший способ сделать это, оцените. Огромное спасибо. :)
извините линия: данных = serializers.serialize ("JSON", groups_and_items) должен быть такого же уровня, как и для цикла, немного сложнее вставить код здесь. – Patrick
Кстати, что отличает: json.dumps И serializers.serialize («json», что-то)? – Patrick
И возможно ли, что ключ может быть другим типом (например, пользовательский тип, а не строка?) В этом случае я использую «группу» в качестве ключа, который не является строкой, я ошибочно называю заголовок этот пост, извините за это! – Patrick