MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да сериализирам ObjectId в JSON?

Изглежда, че Джаксън е персонализиран да сериализира полето за идентификатор на низ по специален начин. Това вероятно е част от интеграцията с org.bson библиотека.

Проблемът е, че вашият десериализатор е параметризиран от ObjectId въведете вместо String или обикновен Object . Опитайте да го промените по следния начин и също така премахнете @ObjectId анотация от декларацията на полето. Ето един пример:

public class ObjectIdSerializer extends JsonSerializer<Object> {
    @Override
    public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
        jsonGen.writeString(value.toString());
    }
}

Можете също да обмислите приемането на класа на доставчик на Jackson-Jongo за коригиране на сериализацията на идентификатора на обекта за всички класове.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Защо трябва да затваряме курсора, след като е използван?

  2. Премахване на MongoDB данни - възстановяване на дисковото пространство

  3. Странни резултати за обяснение на MongoDB/Node

  4. Как обяснявате отделна заявка в MongoDB?

  5. Pymongo агрегат:филтриране по брой полета номер (динамично)