json - 反序列化 double 组

标签 json swift

我尝试使用 Codable Protocol 在 Swift 4.2 上反序列化一些 JSON。 我的 Json:

{  
   "status":1,
   "data":[  
      [  
         {  
            "id":"4klJeiCKTs",
            "body":"first",
            "da":"1442236233",
            "dm":"1442236233"
         },
         {  
            ...
         }
      ]
   ]
}

我的结构和代码:

struct GetEntriesRequest: Decodable{
    var status: Int
    var data: [NestedArrayGetEntries]
}

struct NestedArrayGetEntries: Decodable{
    var elements: [GetEntriesDataFromSession]
}
struct GetEntriesDataFromSession: Decodable{
    var id: String
    var body: String
    var da: String
    var dm: String
}
...
let decoder = JSONDecoder()
            
            decoder.keyDecodingStrategy = .convertFromSnakeCase
            do {
                let root = try decoder.decode(GetEntriesRequest.self, from: data)
                dataSession = root
            } catch { print(error) }

另外,我尝试了这个结构

var data: [[GetEntriesDataFromSession]]

但没有任何成功。

最佳答案

data 键是一个嵌套数组,并且没有 elements

 var data: [NestedArrayGetEntries]

var data: [[NestedArrayGetEntries]]
<小时/>
struct GetEntriesRequest: Codable {
    let status: Int
    let data: [[NestedArrayGetEntries]]
}

struct NestedArrayGetEntries: Codable {
    let id, body, da, dm: String
}
<小时/>

这里你不需要蛇包

  do {
      let root = try JSONDecoder().decode(GetEntriesRequest.self, from: data)
      dataSession = root
   } catch { 
      print(error)
   }

关于json - 反序列化 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56154885/

相关文章:

ios - 这个功能对吗?调用带闭包的函数(swift - iOS)

php - 将 json 传递给 View 模型时保持安全

objective-c - OC 调用一个返回 int 数组的 swift 函数,但不能接受其带有 int 变量的元素

ios - 为什么我需要声明一个 AVAudioSession 实例?

javascript - React 如何解析数据

javascript - 在 1 个对象中应用 jQuery 函数 live()

swift - 在变量中分配运算符函数

swift - leftAxis 标签的位置

ios - Scrollview 底部的按钮没有响应

javascript - 用于分隔子集的正则表达式和嵌套方括号