2017-06-21 6 views
-5

swift3の入れ子配列ですか?私はこのようなデータ構造を持っている

var Data = [ 
      "Action" : [ 
          [ 
          "title":"The Dark Knight", 
          "thumb":"url_of_thumb" 
          ], 
          [ 
          "title": "The Godfather", 
          "Thumb":"url_of_thumb"] 
          ], 
      "Drama": [ 
          [ 
          "title": "Malgudi Days", 
          "Thumb":"url_of_thumb" 
          ] 
        ] 
      ] 

がどのように Swift 3でこれを保存するには?

+0

**あなたは何を意味するのかを実現してもよろしいですか?** swift3での保存方法**、保存したい場所、テキストファイル、jsonファイルなどに保存する方法 –

答えて

0

Eric Ayaのコードをthis answerに使用して、問題の解決方法を示します。

ストア任意ギアレイにおけるデータ[文字列:任意]

import UIKit 

var testData = ["Action" : [["title":"The Dark Knight", "thumb":"url_of_thumb"],["title": "The Godfather", "Thumb":"url_of_thumb"]], "Drama": [["title": "Malgudi Days", "Thumb":"url_of_thumb"]]] 
var myJsonData:[String:Any] 
do { 
    let jsonData = try JSONSerialization.data(withJSONObject: testData, options: .prettyPrinted) 
    // here "jsonData" is the dictionary encoded in JSON data 

    let decoded = try JSONSerialization.jsonObject(with: jsonData, options: []) 
    // here "decoded" is of type `Any`, decoded from JSON data 

    // you can now cast it with the right type 
    if let JSON = decoded as? [String:Any] 
    { 
     myJsonData = JSON 
     print(myJsonData["Action"]!) 

    } 
} catch { 
    print(error.localizedDescription) 
} 

/* OUTPUT */

( {親指= "url_of_thumb"; タイトル=「ダークナイト "; }、 { Thumb =" url_of_thumb "; title ="ゴッドファーザー "; })

[String:String]という形式のデータをお持ちの場合は、この回答のEric Ayaの答えを使用することもできます。 Convert Dictionary to JSON in Swift

+0

注変数名として 'Data'(Swift 3の型)を使うのは、小文字で始まる変数の名前をつけるのがスウィフトであるという事実以外に悪い考えです。 –

+0

@LeoDabusあなたのsuggesionに感謝私は私の答えを編集 –

0

これは実際には辞書の配列を含む辞書です。

あなたはJSONSerialization

サイドノートでJSONとしてPropertyListSerialization

  • でプロパティリストとしてそれを

    • を保存することができます:Dataはスウィフト3の構造体であるあなたが専門用語のこの種のを避けることができます変数名が小文字で始まる命名規則に従うことで衝突する。

  • 関連する問題