我正在使用Nexus Rest Api,根据我的需要,我已经将文件上传到我的仓库,我想获得仓库的最新版本,如下图,对于2 - 3个版本,我可以将细节保存到数组中,然后进行我的处理,如果超出了限制,那么保存过程将是漫长的,所以请建议我。
{
"items": [
{
"id": "string",
"repository": "string",
"format": "string",
"group": "string",
"name": "1.0",
"version": "1.0",
"assets": [
{
"downloadUrl": "string",
"path": "string",
"id": "string",
"repository": "string",
"format": "string",
"checksum": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
}
}
]
},{
"id": "string",
"repository": "string",
"format": "string",
"group": "string",
**"name": "2.0",
"version": "2.0",**
"assets": [
{
"downloadUrl": "string",
"path": "string",
"id": "string",
"repository": "string",
"format": "string",
"checksum": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
}
}
]
}
],
"continuationToken": "string"
}
请帮助我得到最新的版本 "名称"。"2.0","版本"。"2.0",...从我的仓库。
谢谢。
如果你的问题是如何使用json。
struct Response: Codable {
struct Item: Codable {
var id: String
var name: String
var version: String
}
var items: [Item]
}
解码你的json字符串。
var response: Response?
func decodeResponse() {
guard let jsonData = jsonString.data(using: .utf8),
let decoded = try? JSONDecoder().decode(Response.self, from: jsonData) else {
print("Not Response")
return
}
response = decoded
}
获取最高版本
func getHighestVersion() -> String? {
return response?.items.sorted(by: { $0.version > $1.version }).first?.version
}