커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
TypeError(f"Object of type {type(o).__name__} is not JSON serializable") TypeError: Object of type ObjectId is not JSON serializable
undefined주차
북마크
유*수
댓글
3
추천
0
조회수
11
조회수
11
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


질문 내용

버켓리스트 숙제중입니다.app.py의  

 @app.route("/bucket", methods=["GET"])
def bucket_get


의 하단..


bucket_list = list(db.bucket.find({}, {'id': False)

까지는 잘 가는데

return jsonify({'buckets': bucket_list})



를 넣으면 위의 TypeError가 생기는데.. 2시간이상 원인을 찾을 수가 없네요..




작성한 코드 및 에러 메세지

Press CTRL+C to quit

 * Restarting with stat

 * Debugger is active!

 * Debugger PIN: 142-429-633

127.0.0.1 - - [01/Jan/2023 19:33:18] "GET / HTTP/1.1" 200 -

127.0.0.1 - - [01/Jan/2023 19:33:19] "GET /bucket HTTP/1.1" 500 -

Traceback (most recent call last):

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 2548, in __call__

  return self.wsgi_app(environ, start_response)

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 2528, in wsgi_app

  response = self.handle_exception(e)

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 2525, in wsgi_app

  response = self.full_dispatch_request()

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 1822, in full_dispatch_request

  rv = self.handle_user_exception(e)

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 1820, in full_dispatch_request

  rv = self.dispatch_request()

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\app.py", line 1796, in dispatch_request

  return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)

 File "F:\Again스파르타\projects\bucket\app1.py", line 39, in bucket_get

  return jsonify({'buckets': bucket_list})

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\json\__init__.py", line 342, in jsonify

  return current_app.json.response(*args, **kwargs)

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\json\provider.py", line 309, in response

  f"{self.dumps(obj, **dump_args)}\n", mimetype=mimetype

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\json\provider.py", line 230, in dumps

  return json.dumps(obj, **kwargs)

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 234, in dumps

  return cls(

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 201, in encode

  chunks = list(chunks)

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 431, in _iterencode

  yield from _iterencode_dict(o, _current_indent_level)

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 405, in _iterencode_dict

  yield from chunks

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 325, in _iterencode_list

  yield from chunks

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 405, in _iterencode_dict

  yield from chunks

 File "C:\Users\YBS\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 438, in _iterencode

  o = _default(o)

 File "F:\Again스파르타\projects\bucket\venv\lib\site-packages\flask\json\provider.py", line 122, in _default

  raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable")

TypeError: Object of type ObjectId is not JSON serializable오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴