sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan serialiseres ObjectId til JSON?

Det ser ud til, at Jackson er blevet tilpasset til at serialisere string-id-feltet på en særlig måde. Det er sandsynligvis en del af integrationen med org.bson bibliotek.

Problemet er, at din deserializer er parametriseret af ObjectId type i stedet for String eller almindeligt Object . Prøv at ændre det som følger og fjern også @ObjectId anmærkning fra feltdeklarationen. Her er et eksempel:

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

Du kan også overveje at adoptere Jackson-Jongo-udbyderklassen for at rette objekt-id-serialiseringen for alle klasserne.




  1. Redis administrationspanel

  2. Opdatering af en dyb rekord i MongoDb

  3. Krypter/Dekrypter egenskab under skrivning/læsning til c# mongo db

  4. Slet indlejrede felter fra alle/flere dokumenter i en samling - NodeJS + MongoDB