Ошибка типа: ObjectId('') не является сериализуемым JSONPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка типа: ObjectId('') не является сериализуемым JSON

Сообщение Anonymous »


Мой ответ от MongoDB после запроса агрегированной функции в документе с использованием Python. Он возвращает действительный ответ, и я могу его распечатать, но не могу вернуть.

Ошибка:

TypeError: ObjectId('51948e86c25f4b1d1c0d303c') не является сериализуемым JSON Распечатать:

{'result': [{'_id': ObjectId('51948e86c25f4b1d1c0d303c'), 'api_calls_with_key': 4, 'api_calls_per_day': 0,375, 'api_calls_total': 6, 'api_calls_without_key': 2}], 'ок': 1.0} Но когда я пытаюсь вернуться:

TypeError: ObjectId('51948e86c25f4b1d1c0d303c') не является сериализуемым JSON Это вызов RESTfull:

@appv1.route('/v1/analytics') защита get_api_analytics(): # получаем дескриптор коллекций в MongoDB статистика = sldb.statistics objectid = ObjectId("51948e86c25f4b1d1c0d303c") аналитика = статистика.агрегат([ {'$match': {'владелец': objectid}}, {'$project': {'owner': "$owner", 'api_calls_with_key': {'$cond': [{'$eq': ["$apikey", None]}, 0, 1]}, 'api_calls_without_key': {'$cond': [{'$ne': ["$apikey", None]}, 0, 1]} }}, {'$group': {'_id': "$owner", 'api_calls_with_key': {'$sum': "$api_calls_with_key"}, 'api_calls_without_key': {'$sum': "$api_calls_without_key"} }}, {'$project': {'api_calls_with_key': "$api_calls_with_key", 'api_calls_without_key': "$api_calls_without_key", 'api_calls_total': {'$add': ["$api_calls_with_key", "$api_calls_without_key"]}, 'api_calls_per_day': {'$divide': [{'$add': ["$api_calls_with_key", "$api_calls_without_key"]}, {'$dayOfMonth': datetime.now()}]}, }} ]) печать(аналитика) возврат аналитики БД хорошо подключена, и коллекция тоже есть, и я получил действительный ожидаемый результат, но когда я пытаюсь вернуться, он выдает мне ошибку Json. Есть идеи, как преобразовать ответ обратно в JSON. Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»