2016-11-07 1 views
0

を動作しません、私はJSONに問題がある、私は(私は多くの方法をtraied)そのコードを使用してファイルJsonData.jsonを読んで、そして常にそのエラーを取得したい:JSONファイルスウィフト3.0から

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'

誰か私を助けることができますか?

func readPropertyList(){ 
    if let path = Bundle.main.path(forResource:"JsonData", ofType: "json"){ 
    //if let url = Bundle.main.url(forResource:"JsonData", withExtension: "json") { 
     let url: URL = URL(fileURLWithPath: path) 
     do { 
      let data: Data = try! Data(contentsOf: url , options: .alwaysMapped) 
      //let swiftDictionary = try PropertyListSerialization.propertyList(from: data, options: [], format: nil) as! [String] 
      //list = swiftDictionary 
      let thisJSON = try! JSONSerialization.data(withJSONObject: data, options: []) 
      print(thisJSON) 
      //print(list) 
     } catch { 
      print("lol") 
     } 
    } 

} 

たぶん私、JSONファイルが間違っているが、私は大丈夫と言うhttp://jsonlint.comと、そのページに確認してみてください。

{ 

"Eng": 
[ 
    {"Food": 
    [ 
     {"Avilable":true, 
     "Meat": 
       [ 
        { 
        "Meat":"Mięso", 
        "Poultry":"Drób", 
        "Turkey":"Indyk", 
        "Chicken":"Kurczak", 
        "Veal":"Cięcina", 
        "Mutton":"Baranina", 
        "Venison":"Sarnina", 
        "Pork":"Wieprzowina", 
        "Beef":"Wołowina", 
        "Lamb":"Jagnięcina" 
        } 
       ], 
     "Fish": 
       [ 
        { 
        "Fish":"ryba", 
        "Sea food":"Owoce morza", 
        "Shrimps":"Krewetki", 
        "Prawns":"Krewetki", 
        "Mussels":"Małże", 
        "Crayfish":"Rak słodkowodny", 
        "Lobster":"Homar", 
        "Crab":"Krab", 
        "Tuna":"Tuńczyk", 
        "Crap":"Karp", 
        "Eel":"W\u0119gorz", 
        "Sardine":"Sardynka", 
        "Salmon":"\u0141oso\u015b", 
        "Herring":"\u015aled\u017a", 
        "Cod":"Dorsz", 
        "Trout":"Pstr\u0105g", 
        "Bass":"Oko\u0144", 
        "Fl\u0105dra":"Plaice", 
        "Pike":"Szczupak" 
        } 
       ], 
     "Dairy": 
       [ 
        { 
        "Dairy":"Nabia\u0142", 
        "Dairy products":"Produkty mleczne", 
        "Milk":"Mleko", 
        "Cheese":"Ser", 
        "Cheeses":"Serki", 
        "Cottage cheese":"Twar\u00f3g", 
        "Cream":"\u015amierana", 
        "Yoghurt":"Jogurt", 
        "Butter":"Mas\u0142o", 
        "Margarine":"Margaryna" 
        } 
       ] 
     } 
    ] 
} 
] 

}

答えて

2

あなたは間違っているAPIを使用しています。それは他の方法で回る

let thisJSON = try! JSONSerialization.jsonObject(with: data, options: []) 
関連する問題