尝试使用 swiftJson 解析 json 数组

Posted

技术标签:

【中文标题】尝试使用 swiftJson 解析 json 数组【英文标题】:Trying to parse a json array with swiftJson 【发布时间】:2016-07-08 03:28:24 【问题描述】:

我正在下载一个运行良好的文件。然后我试图解析这个 json 以从中获取一个值。这是发生错误的地方。我认为该文件下载良好。这是我到目前为止所拥有的

 func parseYoutubeVideo(json : String)


    if let data = json.dataUsingEncoding(NSUTF8StringEncoding)
    
        let newJson = JSON(data: data)
        //Get the youtube video from the Json data
        print("Parsing Video")
        self.myVideo = newJson["video"].stringValue
        //load the video
        print("Video parsed: " + self.myVideo)
        self.myYoutubePlayer .loadWithVideoId(myVideo)



    

//Function to log into the server and retrive data
func  downloadVideoUrl(myUrl : String)

    print("Downloading video")
    Alamofire.request(.GET, myUrl)
        .authenticate(user: "admin", password: "admin")
        .validate()
        .responseString  response in
            print("Success: \(response.result.isSuccess)")
            print("Response String: \(response.result.value)")

            if(response.result.isSuccess == true)
            
                self.parseYoutubeVideo(response.result.value!)
                //self.parseYoutubeVideo(self.testConfigJson)

            else
            
                //remove player from the view
                 self.myYoutubePlayer.removeFromSuperview()
            



    

这就是alamofire给我的

Success: true
Response String: Optional("[ \n  \"video\" : \"zKevpV_Qo7A\"\n ]")

在如何做到这一点上我是否遗漏了什么,或者我做这件事完全错了。 这就是你解析json数组的方式吧?

感谢您对此的任何帮助

【问题讨论】:

你的 JSON 是什么?如果您粘贴 JSON 响应,我可以为您提供帮助。 这是它应该给我的 [ "video": "zKevpV_Qo7A" ] 【参考方案1】:

使用此代码:

let data = response.result.value!.dataUsingEncoding(NSUTF8StringEncoding)
var json: NSArray?

do 
json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as! NSArray

catch error as NSError 
print(error)

let video = (json[0] as! NSDictionary)["video"] as String

【讨论】:

感谢您花了一些时间或努力让它正常工作,但现在我的视频正在播放下载的视频,非常感谢,我很感激

以上是关于尝试使用 swiftJson 解析 json 数组的主要内容,如果未能解决你的问题,请参考以下文章

我如何解析 JSON,将其排序为数组。提取数据并填充到表格视图中?

Swift JSON 解析和打印数组中的指定值

Swift JSON 解析访问数组

没有数组的Swift Json数据解析

使用 Swift JSON 解析 JSON

Swift JSON 解析错误?