Запрос Pymongo & Django недействителен JSON

Я пытаюсь создать результат JSON с Pymongo, Mongodb и Django. Я создал представление Django, содержащее запрос pymongo и хочу вернуть результаты в json. Тем не менее, полученные результаты arent valid json (согласно jsonlint)

Вот мой взгляд django.

from django.http import HttpResponse
import pymongo
from datetime import datetime, timedelta
import json
from bson import json_util

#setup database connection
try:
    conn = pymongo.Connection()
    db = conn.mydatabase
except:
    print('Error: Unable to connect to database.')
    conn = None

def querypeople(request):
    result = db.people.find({}).sort('name')
    json_docs = []
    for doc in result:
        json_doc = json.dumps(doc, default=json_util.default, sort_keys=True, indent=4)
        json_docs.append(json_doc)
    return HttpResponse(json_docs, content_type='application/json')

Который производит этот выход. (Замечания, запятые, отсутствующие между каждым документом, и [] должны включать весь результат, что делает его недействительным JSON.) Что я делаю неправильно?

"_ id": {           msgstr "" "       },       "Дата Добавлена": {           "$ date": 1355126443473       },       «имя»: «Аль Ландон»   } {       "_Я бы": {           msgstr "" "       },       «компания»: «Коррс»,       "Дата Добавлена": {           "$ date": 1355135449179       },       «имя»: «Эндрю Ламсден»,       «title»: «Партнер»

1
nl ja de
это как-то два этапа сериализации. вы используете json.dumps для каждого элемента списка. Правильно ли я предполагаю, что ваш желаемый json должен выглядеть так: {"obj": [{"_id": {"$ oid": "12323"}, "date_added": {"$ date": 1355126443473}, " name ":" Al Landon "}, {" _ id ": {" $ oid ":" 50c5b9d92b9afbc3f1e7c90c "}," company ":" Corrs "," date_added ": {" $ date ": 1355135449179}," name ": «Andrew Lumsden», «title»: «Партнер»}]}
добавлено автор Milla Well, источник
это правильно, вот как должен выглядеть мой желаемый json
добавлено автор CraigH, источник
это правильно, вот как должен выглядеть мой желаемый json
добавлено автор CraigH, источник

2 ответы

Как я понял, вы возвращаетесь с ответом, а не с json string. Пытаться:

json_docs = json.dumps(list(result), default=json_util.default, sort_keys=True, indent=4)
0
добавлено
это работало идеально для меня. благодаря
добавлено автор CraigH, источник

Как я понял, вы возвращаетесь с ответом, а не с json string. Пытаться:

json_docs = json.dumps(list(result), default=json_util.default, sort_keys=True, indent=4)
0
добавлено
это работало идеально для меня. благодаря
добавлено автор CraigH, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

Django
Django
1 931 участник(ов)

Полезная информация и правила: https://github.com/django-ru/faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

MongoDB Russian
MongoDB Russian
1 086 участник(ов)

> db.stats() https://combot.org/chat/-1001035023078

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

django_jobs
django_jobs
916 участник(ов)

Поиск и предложения работы (Django) Правила: https://t.me/django_jobs/4 Вакансии с тегом #job улетают в канал @django_jobs_board Вопросы к @amureki Основной чат @pydjango

Django
Django
733 участник(ов)

Веб-фреймворк для перфекционистов с дедлайнами. Наша группа на vk: https://vk.com/django_framework В Discord: https://discord.me/django_framework по всем вопросам @MechanisM

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community

django flood
django flood
71 участник(ов)

Флудилка джангистов Пока без правил