2016-03-25 11 views
0

まずは、これはノブの質問です。興味のある方は私が初心者だから私に答えることができます。 私は、大学の先輩が毎年の技術祭のために作成したAPIからJSONデータを解析する必要があります。しかし、彼らはすべての情報を含む配列に名前を付けるのを忘れてしまった。 1 名前を入れるのを忘れて、ロールは最初の "貸出"と似ています2 私はSwiftyJSONを使ってデータを解析しています。ここは自分のコードです。スウィフト問題でiOSアプリケーション用のJSONを解析する

func getJSON(){ 

    let url = NSURL(string: baseURL) 
    let request = NSURLRequest(URL:url!) 
    let session = NSURLSession(configuration:NSURLSessionConfiguration.defaultSessionConfiguration()) 
    let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in 


     if error == nil{ 

      let swiftyJSON = JSON(data:data!) 
      let loan1 = swiftyJSON["loans"][0]["status"].stringValue 
      print(loan1) 
     }else{ 
      print("There is an error") 
     } 

    } 
       task.resume() 
} 

だから私は何ができ、「貸付金」の私のJSONがアップ解析して動作させるにはに置き換えられることを知っていただきたいと思います。私はすでに ""と ""試みたことがあります。 ありがとう!

+0

現在、完全なJSON構造がどのようなものかわかりません。 JSON全体を投稿できますか?または少なくともそれの全体の構造ですか? – James

+0

JSONは実際にあなたの説明や画像と一致しません。 – James

+0

私は上記のコードで "loans"の代わりに何ができるのか知りたいので、上記のapiリンクの配列に配列名が含まれていないため、データを解析できます。 –

答えて

0

投稿したJSON辞書に基づいて、既存のキーにアクセスしていないので、loan1はおそらくnil以外のものにはなりません。最初のイメージの応答に基づいて、辞書の配列を返します。

[ 
    { 
    "eid": 98, 
    "ename": "Lights. Camera. Tweet", 
    "sname": "IEEE GTBIT", 
    "ebanner": "http://s10.postimg.org/a11cezdft/12045587_1594466984176579_4873790458939193947_o.jpg", 
    "time": "1459189800854", 
    "category": "Literary & Management", 
    "desc": "Lights. Camera. Tweet! brings you a chance to win ..." 
    }, 
    { 
    "eid": 45, 
    "ename": "[email protected]", 
    "sname": "Android Techies", 
    "ebanner": "http://i.imgur.com/ANR84uk.jpg", 
    "time": "1459222200397", 
    "category": "Technical", 
    "desc": "[email protected] is a Software Hackathon where particip..." 
    }, 

等...

このデータのどれもが、あなたが探しているものがない場合、あなたが適切に要求していないか、データが返される適切にフォーマットされていないか、すべての必要なを含みます情報。

IDやその他の値を使用してステータスを確認する新しいリクエストを行うことができます。あなたはswiftyJSON [0] ["eid"]を介してそれにアクセスします。それは値98を取得します。しかし、アクセスしようとしているキーと値のペアは応答に基づいて正しくありません。 「ローン」キーはトップレベルには存在せず、「ステータス」キーも存在しません。