我需要将此 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”电路的子元件将会出现
block 引用>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/