版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21153627/article/details/84306769
首先需要一个json
{
"menu":
{
"id":"file",
"value":"File",
"menuitem":
[
{
"value":"New",
"onclick":"CreateNewDoc()"
},
{
"value":"Open",
"onclick":"OpenDoc()"
},
{
"value":"Close",
"onclick":"CloseDoc()"
}
]
}
}
解析json
//从项目目录读取json文件
let path:String = Bundle.main.path(forResource: "menu", ofType: "json")!
// 然后读取指定位置的文件 并转换成二进制数据
if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path)) {
do{
//将二进制转为字典对象
if let jsonObj:NSDictionary = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions()) as? NSDictionary {
//根据键名获得字典中的键值 并将键值转换成另一个字典对象
if let menuDic:NSDictionary = jsonObj["menu"] as? NSDictionary{
//根据键名 获得第二个字典对象中的键值 并将键值转换为一个数组对象
if let menuItems:NSArray = menuDic["menuitem"] as? NSArray{
for item in menuItems{
print("itme: \(item)")
}
}
}
}
}catch{
print("Error.")
}
}