2015-02-08 31 views
-1
// Get the #1 app name from iTunes and SwiftyJSON 
DataManager.getTopAppsDataFromItunesWithSuccess { (iTunesData) -> Void in 
    let json = JSON(data: iTunesData) 
    println(json) 

如何访问[“场地”] [“酒吧城”] [“场地”]的所有元素?迅速 - 如何解析这个JSON对象

{ 
    "venues":{ 
     "cityuser":"Beirut", 
     "venue-usernewplace":{ 
      "star":[ 
      ], 
      "idcat":[ 
      ], 
      "namecat":[ 
      ], 
      "name":[ 
      ], 
      "id":[ 
      ], 
      "phone":[ 
      ], 
      "address":[ 
      ], 
      "crossStreet":[ 
      ], 
      "lat":[ 
      ], 
      "lng":[ 
      ], 
      "cc":[ 
      ] 
     }, 
     "placesofpeople":{ 
      "star":"false", 
      "nameplace":"B0 18", 
      "idplace":"4b52670df964a520847b27e3", 
      "count":"4", 
      "cc":"LB", 
      "phone":"01580018", 
      "crossStreet":"Main Highway", 
      "lat":"33.898404713314", 
      "lng":"35.534128372291", 
      "address":"Karantina" 
     }, 
     "pubcity":{ 
      "venue":[ 
       { 
        "id":"4fe75b17e4b032d653ce50fd", 
        "idcat":"4bf58dd8d48988d11e941735", 
        "name":"Cl\u00e9 Cafe-Lounge Bar", 
        "phone":"71200712", 
        "address":"Mohammed Abdel Baki Street, Clemenceau", 
        "crossStreet":"Hamra, Facing Najjar Hospital", 
        "lat":"33.897185328966", 
        "lng":"35.487202808518", 
        "cc":"LB", 
        "count":"0", 
        "namecat":"Cocktail Bar", 
        "star":"false" 
       }, 
       { 
        "id":"4e3e7533fa76455375c56a33", 
        "idcat":"4bf58dd8d48988d11f941735", 
        "name":"Skybar", 
        "phone":"03939191", 
        "address":"Biel", 
        "crossStreet":"Downtown Beirut", 
        "lat":"33.90610643966", 
        "lng":"35.510663636771", 
        "cc":"LB", 
        "count":"0", 
        "namecat":"Nightclub", 
        "star":"false" 
       }, 
       { 
        "id":"4b52670df964a520847b27e3", 
        "idcat":"4bf58dd8d48988d11f941735", 
        "name":"B 018", 
        "phone":"01580018", 
        "address":"Karantina", 
        "crossStreet":"Main Highway", 
        "lat":"33.898404713314", 
        "lng":"35.534128372291", 
        "cc":"LB", 
        "count":"0", 
        "namecat":"Nightclub", 
        "star":"false" 
       }, 
+0

把printn当(JSON)一切都出现! – 2015-02-08 00:49:50

+0

转到json.org并了解JSON语法。学习只需要5-10分钟。然后明白,当解析JSON时,JSON“对象”翻译成NSDictionary,JSON“数组”翻译成NSArray。编写代码来访问每个连续的图层,有效地像洋葱一样“剥离”JSON。 **不要求有人给你写代码!! ** – 2015-02-08 02:42:37

+0

而''“场地”] [“酒吧城”] [“场地”]'是一个数组。你知道如何处理数组吗? – 2015-02-08 02:45:31

回答

-1

使用swiftyJson:

if let venues = json["venues"]["pubcity"]["venue"].array { 
      //venue is an array of the dictionaries. 
      for venue in venues { 
       //just printing the name, but you have the whole dictioary of each venue here. 
       println(venue["name"].string!) 
      } 
     } 
+0

它不工作!无法识别.array – 2015-02-08 12:35:28

0

我知道有两种方法。

1将文本墙贴到JSON格式器中,使得该blob更具可读性。在这种情况下,您可以检查哪些键可以从中拔出。

2检查文档。

+0

谢谢你的答案,但我已经想过validaotr,但它会很长,我不能在这里发布!并且仍然不知道要使用哪些键!它是一个数组,但不起作用 – 2015-02-08 01:34:45

+0

这应该是一个评论,而不是一个答案。 – CarmeloS 2015-02-08 01:51:18

+0

你可以随时发布链接http://codebeautify.org/jsonviewer/d56a4a – 2015-02-08 03:44:20