json - Swift 4 Json 解析

标签 json swift

我需要将此 json 数据放入上面的“arrayCategory”数组中。我该怎么做?

"Elektronik" and "Hobi" titles are not fixed. It is variable.

Json Data

{
  "Elektronik": [
    {
      "kategoriisim": "Akıllı Saatler",
      "uyevarmi": "1"
    },
    {
      "kategoriisim": "Anakart",
      "uyevarmi": "1"
    } ],

  "Hobi": [
    {
      "kategoriisim": "Drone Multikopter",
      "uyevarmi": "1"
    }
  ]
}
  • Struct and Array . I need to fill in the "dimensionalArray" array

ExpandableNames“baslik”= json 数据中“Elektronik”数据的 future

ExpandableNames“kategori”=“Elektronik”电路的子元件将会出现

    struct ExpandableNames {

        let baslik : String
        let kategori: [cellKategorilerData]
    }
    struct cellKategorilerData {
        var kategoriisim : String?
        var uyevarmi : String?
    }

    var dimensionalArray = [ExpandableNames]()
    var arrayKategoriData = [cellKategorilerData]()

-

static func jsonSonucGetir(servlet:String,parametre:String) {

        let connectString = Connect.ConnectInfo

        var request = URLRequest(url: URL(string:connectString.conString + "/" + servlet)!)
        request.httpMethod = "POST"

        var postString = parametre
        postString = postString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!
        request.httpBody = postString.data(using: .utf8)
        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in

            if error != nil
            {
                print("error" , error)

            }

            if let urlContent = data
            {
                do
                {
                    let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject



                       ???

                }
                catch
                {
                    print("server hatasi")

                }
            }
        }

        task.resume()
    }

最佳答案

如果键是动态的,我建议将对象解码为字典([String:[CellKategorilerData]])

let jsonString = """
{
    "Elektronik": [
        {"kategoriisim": "Akıllı Saatler", "uyevarmi": "1"},
        {"kategoriisim": "Anakart", "uyevarmi": "1"}
    ],
    "Hobi": [
        {"kategoriisim": "Drone Multikopter", "uyevarmi": "1"}
    ]
}
"""
<小时/>
struct CellKategorilerData : Decodable {
    let kategoriisim : String
    let uyevarmi : String
}
<小时/>
do {
    let data = Data(jsonString.utf8) 
    let result = try JSONDecoder().decode([String:[CellKategorilerData]].self, from: data)
    for (key, value) in result {
        print("key", key, "value", value)
    }
} catch { print(error) }

关于json - Swift 4 Json 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49537274/

相关文章:

java - 获取 org.json.JSONException : End of input at character 0 errror in Android App

swift - 需要点击两次才能取消选中表格单元格

ios - 如果分配给属性的字符串太长, TableView 单元格不显示

java - 使用 GSON/POJO 解析 JSON

javascript - 你如何在 AngularJS 上检索单个帖子?

javascript - 将 PHP 数组发送到 Javascript,然后从数组中选择随机图像

c# - 使用类型提供程序和 JSON API

ios - 操作系统状态错误 1685348671 AVAudioPlayer

ios - Nil 与预期的参数类型 'UIImage' 不兼容

ios - UIAlertController 面板在用户响应之前消失