簡體   English   中英

如何在 Swift 中解析 Json 響應

[英]How to parse Json response in Swift

我需要解析出“選擇”並保存 123347 並將“選項”保存到以下字符串中的字符串:

{
"type" : "radiobuttons",
"patient" : false,
"text" : "How are you today",
"id" : 63339,
"position" : 2,


"options" : "123344:ok today;123345:see you tomorrow;123346:call friend;123347:call lisa;",


"required" : true,




"choices" : {
"123347" : {
  "value" : 3,
  "option" : "iOS"
},

"123345" : {
  "option" : "Android",
  "value" : 1
},
"123346" : {
  "option" : "Windows",
  "value" : 2
},
"123344" : {
  "option" : "MAC",
  "value" : 0
}
}
}






let json = try? JSONSerialization.jsonObject(with: str, options: [])

斯威夫特 5

嘗試對其進行序列化和解碼

let jsonResponse = try JSONSerialization.data(withJSONObject: responseObject as Any, options: JSONSerialization.WritingOptions.sortedKeys)
let customObject = try JSONDecoder().decode(CustomObject.self, from: jsonResponse)
guard let requiredChoice = customObject.choices["123347"] else{
  return
}
 let option = requiredChoice.option
 print(option)

為您的 json 自定義對象:

struct CustomObject: Codable {
    let type: String
    let patient: Bool
    let text: String
    let id, position: Int
    let options: String
    let customObjectRequired: Bool
    let choices: [String: Choice]

    enum CodingKeys: String, CodingKey {
        case type, patient, text, id, position, options
        case customObjectRequired = "required"
        case choices
    }
}

struct Choice: Codable {
    let option: String
    let value: Int
}

有許多工具可以輕松地為您的 json 創建結構/類:例如: https : //app.quicktype.io

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM