어떻게 다른 유형의 값을 JSON 객체를 만들려면 어떻게해야합니까? 내가 여기에 스프레이 JSON어떻게 다른 유형의 값을 JSON 객체를 만들려면 어떻게해야합니까?
을 사용하고
코드 그것은 작동하지만 정말 무거운 보이는
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)
))
입니다. 이런 코드로 json을 정의하는 방법이 있습니까?
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
내가 얻을
Cannot find JsonWriter or JsonFormat type class for List[(String, Object)]
).toJson
^
는, 각 필드의 유형이 컴파일시에 정의되지 않은 것을 말하는 작동하지 않습니다. 하지만 serializer가 패턴 매칭을 어쨌든 수행하면 왜 작동하지 않을까요?
감사합니다.
라이브러리가이를 지원할 수도 있습니다. 하지만 그렇지 않다면'String'을 받아'JsString'으로 변환하는'암시 적 (implicit) '함수를 가져야합니다. – Jatin