我想解析從服務器響應中讀取的JSON。我能夠獲得第一關,但之後我可以進入下一關。由於我對IOS完全陌生,所以我儘可能多地探索和嘗試,但一切都是靜靜的。我懷疑在基礎層面上缺少什麼。如何在swift中解析JSON 3
let json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
打印(JSON)
{
"ab_report" = "[{\"label\":\"ART\",\"value\":187},{\"label\":\"SINDED\",\"value\":24},{\"label\":\"RES\",\"value\":1},{\"label\":\"REAL\",\"value\":1}]";
distslist = (
{
"_id" = {
"$id" = 5732d884dbe782a63c760e3b;
};
"dt_code" = ADB;
"dt_name" = Adilaasbad;
"st_name" = 572d95c0dsdfbe7823348c981b3;
},
{
"_id" = {
"$id" = 572d95d4dbsadfe7826b48c981b3;
};
"dt_code" = HEEWYD;
"dt_name" = aassas;
"st_name" = 572d95c0efghbe7823348dc981b3;
}
)
"last_ssdate" = "Lase on : 2s0";
message = "";
"ressdfort" = "[{\"label\":\"Ded\",\"value\":71},{\"label\":\"Weed\",\"value\":0},{\"label\":\"Scrnitiated\",\"value\":0}]";
"scrort" = "[{\"label\":\"Physicals\",\"value\":8551},{\"label\":\"General\",\"value\":15752},{\"label\":\"Ees\",\"value\":2756}]";
}
打印(JSON [「ressdfort」]!)
[{"label":"Ded","value":71},{"label":"Weed","value":0},{"label":"Stiated","value":0}]
在此之後我想取的值一個一個具有來自每個對象的「標籤」和「值」。
提前致謝。
json [「ressdfort」]!返回一個'Array'類型爲'Dictionary''[Dictionary]'的元素'。Google如何處理這些類型如果在Swift中做什麼,您可能需要閱讀: https://developer.apple.com/library/content/documentation /Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309 – shallowThought
@shallowThought謝謝你的建議,我通過該鏈接並獲得了一些基本的想法。當我打印'print(type(of:json))'它是'__NSDictionaryI','type(of:json [「ressdfort」]!)''__NSCFString'和'type(of:json [「ressdfort」 ]!)'它是'可選的
santoshi
兩個想法:首選'Dictionary'([String:Any]或類似的東西)到Swift中的'NSDictionary'。此外,您JSON將JSON字符串嵌入爲JSON,因此對於'ressdfort','script'和'ab_report'值,您必須再次調用'JSONSerialization'。 – Larme