2016-12-12 8 views
-1

ここでは、解析しようとしているJSONの構造を示します。私は質問にアクセスするためにループすることができるようにしたい。SwifyJSONを使用したJSONの解析

{ 
    "status" : 200, 
    "C&Q" : [ 
    { 
     "category" : "Applicant Details", 
     "questions" : [ 
     { 
      "compulsory" : true, 
      "options" : "Mr.; Mrs.; Miss", 
      "input" : "radio", 
      "question" : "Title" 
     }, 
     { 
      "compulsory" : true, 
      "options" : "N\/A", 
      "input" : "text", 
      "question" : "Surname" 
     } 
     ] 
    }, 
    { 
     "category" : "Identification Documents", 
     "questions" : [ 
     { 
      "compulsory" : true, 
      "options" : "Passport;Drivers License;Voter ID;NHIS", 
      "input" : "radio", 
      "question" : "ID TYPE" 
     }, 
     { 
      "compulsory" : true, 
      "options" : "N\/A", 
      "input" : "date", 
      "question" : "Date of Issue (YYYY-MM-DD)" 
     } 
     ] 
    } 

ここにコードがありますが、インデックスのみでアクセスできます。おそらく誰かが質問の配列にアクセスできるようにループする方法のサンプルコードを手助けすることができます。

let swiftyJsonVar = JSON(response.result.value!) 

guard let questions = swiftyJsonVar["C&Q"].arrayValue[0]["questions"].arrayObject as? [[String:AnyObject]] else 
{ 
    print("parsing failed") 
    return 
} 

これは、上記の解析とうまく動作する配列を使用する方法です。

let questionsStructs = questions.map(Questions.init) 
self.formsData = questionsStructs 

ご協力いただきますようお願い申し上げます。

答えて

0
var questions:[Question] = [] 
for (key,subJson):(String, JSON) in json["C&Q"] { 
    for (key,j):(String, JSON) in subJson["questions"] { 
     let question = Question(......) 
     questions.append(question) 
    } 
} 
+1

ありがとう@ user1941284しかし、配列の質問[質問]の種類がわかりませんでした。もう少し明確にしてください。 –

+0

すべての質問をまとめてもらいたいのですか、カテゴリ別に分割したいですか? – tbilopavlovic

+0

私はカテゴリ別に分割したいと考えています。ありがとうございました。 –

関連する問題