0
我的課程列表從coursera api:將文檔轉換與播放的Json
{"elements":[
{"id":69,
"shortName":"contraception",
"name":"Contraception: Choices, Culture and Consequences",
"links":{}
},
...
]
}
我想將其轉換爲一個文件,看起來像這樣(我用< --- arrrows爲註釋):
{"Courses":[
{
"Type" : "Course",
"Title" : "contraception" <---- short name
"Content" : {"id":69, <---- the original course
"shortName":"contraception",
"name":"Contraception: Choices, Culture and Consequences",
"links":{}
}
},
...
]}
是否有可能使用json來執行此操作? 這裏是我如何做它目前(與轉換爲Scala列表)。
val courses = (response.json \ "elements")
.as[List[JsValue]]
.map { course =>
// This is how we want our document to look
Json.obj(
"Type" -> "Course",
"Provider" -> "Coursera",
"Title" -> (course \ "name"),
"Content" -> course
)
}
// then put this into the final json object with "Courses" ...
謝謝,哇,這看起來很複雜...我想我可能會保持我的方式:-) [JsArray] .map'的''又做了什麼? – drozzy
這只是創建一個基本的Reads [JsArray]將JsValues數組轉換爲一系列的課程 – dribba