Swift:如何从JSON数据中读取JSON数据

时间:2016-08-14 12:02:50

标签: json swift alamofire

我已经从JSON读取了一些数据,其中包含另一个JSON文件的URL,我需要读取该JSON文件并存储它们。我不知道在哪里可以添加第二个读JSON的过程。我很快乐,有人可以给我一些建议吗?非常感谢。

var posts: [Posts] = [Posts]()

@IBOutlet weak var theCollectionView: UICollectionView!
func getCategories(){

    Alamofire.request(.GET, "http://localhost:8888/wordpress/wp-json/wp/v2/categories").responseJSON { (response) in
        if let jsonFile = response.result.value {

            var arrayOfPosts = [Posts]()

            for post in jsonFile as! NSArray {

                let postObj = Posts()

               // if !(post.valueForKeyPath("featured_image_thumbnail_url") is NSNull){

                  //  postObj.postThumbnailUrlString = post.valueForKeyPath("featured_image_thumbnail_url") as! String
                    postObj.postCategoryCode = "\(post.valueForKeyPath("id") as! NSNumber)"
                    postObj.theDictionary = post.valueForKeyPath("_links") as! NSDictionary
                    postObj.theCategoryArray = (postObj.theDictionary.valueForKeyPath("wp:post_type") as? NSArray)!
                    postObj.postCategoryListUrl = postObj.theCategoryArray[0].valueForKeyPath("href") as! String

                    arrayOfPosts.append(postObj)



            }

            self.posts = arrayOfPosts
            self.theCollectionView.reloadData()


            }
        }
}

class Posts: NSObject{

var postTite:String = ""
var postContent: String = ""
var postCategoryCode: String = ""
var postThumbnailUrlString: String = ""
var theCategoryArray = NSArray()
var theDictionary = NSDictionary()
var postCategoryListUrl: String = ""  
}

我正在使用Alamofire,我在“postObj.postCategoryListUrl”之后尝试添加另一个循环,但它没有用。我需要使用“postObj.postCategoryListUrl”的url来读取“postTitle”,“postThumbnailUrlString”和“postContent”的数据。我很快乐,需要一些关于此的建议,非常感谢。

1 个答案:

答案 0 :(得分:0)

你可以在这行之后为第二个json做Alamife.request

self.posts = arrayOfPosts

当第二个json数据钱包完成后再使用此行。然后您将获得完整的帖子和帖子详细信息。

dispatch_async(dispatch_get_main_queue(),{
     self.theCollectionView.reloadData()
 })