Swift 具有唯一键的ObjectMapper和数组

Swift 具有唯一键的ObjectMapper和数组,swift,objectmapper,Swift,Objectmapper,我在ObjectMapper和json响应从服务器返回的方式方面遇到了问题。 有没有办法让ObjectMapper解析此响应并创建房间数组 目前我无法直接映射json,因为键是唯一的,并且会更改每个请求,我也无法使用ObjectMapper方法访问带有点符号的嵌套对象,rooms.0.key,因为我不确定有多少个对象以及将显示的键 有没有一种简单的方法来解析这个响应 使用Codable解析上述JSON响应 型号: struct Rooms: Codable { let rooms: [

我在ObjectMapper和json响应从服务器返回的方式方面遇到了问题。 有没有办法让ObjectMapper解析此响应并创建房间数组

目前我无法直接映射json,因为键是唯一的,并且会更改每个请求,我也无法使用ObjectMapper方法访问带有点符号的嵌套对象,
rooms.0.key
,因为我不确定有多少个对象以及将显示的键

有没有一种简单的方法来解析这个响应


使用
Codable
解析上述JSON响应

型号:

struct Rooms: Codable {
    let rooms: [String:Room]
}
 
struct Room: Codable {
    let id: String
    let area: Area
}

struct Area: Codable {
    let squareFeet: Int
    let squareMeters: Int
}
解析JSON
数据
就像这样

do {
    let decoder = JSONDecoder()
    decoder.keyDecodingStrategy = .convertFromSnakeCase
    let response = try decoder.decode(Rooms.self, from: data)
    print(response.rooms.first?.key) //for the above json it will print "165476"
} catch {
    print(error)
}

在此处以文本格式添加Json。@PGDev添加到问题中。删除
ObjectMapper
,选择
Codable
do {
    let decoder = JSONDecoder()
    decoder.keyDecodingStrategy = .convertFromSnakeCase
    let response = try decoder.decode(Rooms.self, from: data)
    print(response.rooms.first?.key) //for the above json it will print "165476"
} catch {
    print(error)
}