[JAVA] La sérialisation de org.joda.time.DateTime en JSON au format ISO8601 s'accompagne d'une milliseconde

// Groovy Version: 2.4.5 JVM: 1.8.0_77 Vendor: Oracle Corporation OS: Mac OS X
@Grab('com.fasterxml.jackson.core:jackson-core:2.8.5')
@Grab('com.fasterxml.jackson.datatype:jackson-datatype-joda:2.8.5')

@Grab('joda-time:joda-time:2.9.6')

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.util.ISO8601DateFormat
import com.fasterxml.jackson.datatype.joda.JodaModule
import org.joda.time.DateTime

def now = new DateTime()
def bean = new Bean(date1: now.toDate(), date2: now)

def objectMapper = new ObjectMapper()
        .registerModule(new JodaModule())
        .setDateFormat(new ISO8601DateFormat())

def json = objectMapper.writeValueAsString(bean)
println json



class Bean {
    Date date1
    DateTime date2
}

résultat

{
  "date1": "2016-12-23T06:33:01Z",
  "date2": "2016-12-23T06:33:01.045Z"
}

«Date1», qui est «java.util.Date», n'a pas la milliseconde. Il semble qu'il doit être correctement formaté avec @ com.fasterxml.jackson.annotation.JsonFormat.

prime

def objectMapper = new ObjectMapper()
        .registerModule(new JodaModule())
//        .setDateFormat(new ISO8601DateFormat())
        .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)

Si vous l'essayez dans l'état ci-dessus, date1 aura également une milliseconde. Le spécificateur de fuseau horaire a également changé en «+ 0000» au lieu de «Z». ..

{
  "date1": "2016-12-23T06:38:26.270+0000",
  "date2": "2016-12-23T06:38:26.270Z"
}

Recommended Posts

La sérialisation de org.joda.time.DateTime en JSON au format ISO8601 s'accompagne d'une milliseconde
Formater JSON avec org.json
Journaliser la sortie au format Json en utilisant lograge / lograge-sql avec RubyOnRails
Convertir un objet ruby au format JSON
Remplacer le texte dans la forme automatique du fichier Excel par Apache POI
Premiers pas avec DBUnit
La sérialisation de org.joda.time.DateTime en JSON au format ISO8601 s'accompagne d'une milliseconde
Utilisez thymeleaf3 avec le parent sans spécifier spring-boot-starter-parent dans Spring Boot
Compression Zip qui ne brouille pas dans l'environnement Java
Comment les propriétés de bean lient les paramètres de requête de style liste dans Spring
Sortie du journal Spring Boot au format json
Date de sortie en Java au format étendu ISO 8601
Gérez d'énormes JSON avec Java Lambda
Comment assembler JSON directement dans Jackson
Conversion de JSON en TSV et TSV en JSON avec Ruby
Comment stocker des objets dans PostgreSQL au format JSON avec MyBatis (Mapper XML)
Jackson ne peut pas sérialiser JSON hibernateLazyInitializer dans Spring Data JPA entraîne une erreur