26 lines
656 B
Python
26 lines
656 B
Python
from copy import deepcopy
|
|
from typing import Any
|
|
|
|
from bson import ObjectId
|
|
from ujson import dumps, loads
|
|
|
|
|
|
def json_to_string(json_object: Any) -> str:
|
|
json_object_copy: Any = deepcopy(json_object)
|
|
|
|
if isinstance(json_object_copy, dict) and "_id" in json_object_copy:
|
|
json_object_copy["_id"] = str(json_object_copy["_id"])
|
|
|
|
return dumps(
|
|
json_object_copy, ensure_ascii=False, indent=0, escape_forward_slashes=False
|
|
)
|
|
|
|
|
|
def string_to_json(json_string: str) -> Any:
|
|
json_object: Any = loads(json_string)
|
|
|
|
if "_id" in json_object:
|
|
json_object["_id"] = ObjectId(json_object["_id"])
|
|
|
|
return json_object
|