Làm thế nào để bạn tạo đối tượng Json với các giá trị của các loại khác nhau?Làm thế nào để bạn tạo đối tượng Json với các giá trị của các loại khác nhau?
Tôi đang sử dụng phun json
Đây là mã
val images : List[JsObject] = fetchImageUrls(url).map((url: String) => {
JsObject(List(
"link_path" -> JsString(url),
"display_name" -> JsString("image"),
"size" -> JsString(""),
"modified" -> JsString(""),
"thumbnail" -> JsString(url),
"filename" -> JsString("image"),
"is_dir" -> JsBoolean(x = false),
"thumb_exists" -> JsBoolean(x = true)))
})
val jsonAst: JsObject = JsObject(List(
"client" -> JsString("urlimages"),
"view" -> JsString("thumbnails"),
"contents" -> JsArray(images)
))
Nó hoạt động nhưng trông thật sự nặng nề. Có cách nào để xác định json với mã như thế này?
val images : List[List[(String, Any)]] = fetchImageUrls(url).map((url: String) => {
List(
"link_path" -> url,
"display_name" -> "image",
"size" -> "",
"modified" -> "",
"thumbnail" -> url,
"filename" -> "image",
"is_dir" -> false,
"thumb_exists" -> true)
})
val jsonAst = List(
"client" -> "urlimages",
"view" -> "thumbnails",
"contents" -> images
).toJson
Nó không làm việc nói rằng
Cannot find JsonWriter or JsonFormat type class for List[(String, Object)]
).toJson
^
nào tôi nhận được, loại từng lĩnh vực không được quy định tại thời gian biên dịch. Nhưng tại sao nó sẽ không hoạt động nếu serializer không phù hợp với mô hình nào?
Cảm ơn!
Thư viện có thể hỗ trợ điều này. Nhưng nếu không, có một hàm 'implicit' nhận' String' và chuyển nó thành 'JsString' – Jatin