I have a json with this kind of key:
...
"metaData": {
"date:create": "2019-11-13t15:42:02+01:00",
"date:modify": "2019-11-13t15:42:02+01:00",
"exif:ColorSpace": "1",
"exif:ExifImageLength": "1500",
"exif:ExifImageWidth": "1125",
"exif:ExifOffset": "38",
"exif:Orientation": "1",
"jpeg:colorspace": "2",
"jpeg:sampling-factor": "1x1,1x1,1x1"
},
...
All the keys in the metaData
object are dynamic (not really but there's hundred of different keys) how can i serialize this object without having to create a class with all the possible keys.
This is my work:
@Serializable
data class Image(
val name: String? = null,
val uid: String,
val createdAt: String? = null,
val updatedAt: String? = null,
val metaData: MetaData? = null,
)
@Serializable
data class MetaData (
@SerialName("date:create")
val dateCreate: String,
@SerialName("date:modify")
val dateModify: String,
@SerialName("exif:ColorSpace")
val exifColorSpace: String,
@SerialName("exif:ExifImageLength")
val exifExifImageLength: String,
@SerialName("exif:ExifImageWidth")
val exifExifImageWidth: String,
@SerialName("exif:ExifOffset")
val exifExifOffset: String,
@SerialName("exif:Orientation")
val exifOrientation: String,
@SerialName("jpeg:colorspace")
val jpegColorspace: String,
@SerialName("jpeg:sampling-factor")
val jpegSamplingFactor: String
)