swift NSJSONSerialization json解析

以下是解析、生成方法 

    func jsonParse(){

  

        /******************************************  解析json类型  **************************************/

        let jsonFile = NSBundle.mainBundle().pathForResource("JsonParseFile", ofType: "geojson")

        let jsonData = NSData.dataWithContentsOfMappedFile(jsonFile!) as NSData

        var errorRead:NSError?

        var jsonParse = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableLeaves, error: &errorRead) as NSDictionary

        if errorRead==nil {

            let itemCount = jsonParse.objectForKey("ItemCount") as NSString

            println("数据总数 : \(itemCount)")

            let itemArray = jsonParse.objectForKey("Info") as NSArray

            println("当前数组 : \(itemArray.count)")

            let dataArray = jsonParse.objectForKey("Info") as NSArray

            for manDic in dataArray{

                let name = manDic.objectForKey("Name") as NSString

                println("数据数组 : \(name)")

            }

        }else{

            println("json不合法,解析失败")

        }

  

        /******************************************  转化成json类型  **************************************/

        let writeJsonArray1   = ["1","2","3"]

        let writeJsonArray2   = ["4","5","6"]

        let writeJsonDictory = ["数组1":writeJsonArray1,"数组2":writeJsonArray2]

        let jsonFormater = NSJSONSerialization.isValidJSONObject(writeJsonDictory)

        if jsonFormater {

            println("是标准json格式")

        }else{

            println("非标准json格式")

        }

        var errorWrite:NSError?

        var jsonWriteData = NSJSONSerialization.dataWithJSONObject(writeJsonDictory, options: NSJSONWritingOptions.PrettyPrinted, error: &errorWrite)

        var lastParse = NSString(data: jsonWriteData!, encoding: NSUTF8StringEncoding)

        println("转化成json类型 \n\(lastParse)") 

    }

 

转载于:https://www.cnblogs.com/madaha/p/4165095.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值