2017-07-10 5 views
0

は、私はちょうどJSONオブジェクト使用例えば「JSONEncoder」swift4

var test = [String : Any]() 
test["title"] = "title" 
test["description"] = "description" 
test["date"] = Date.init() 

に、このサンプルの配列を変換したいと、私はこのエラーを取得:

use of unresolved identifier 'JSONEncoder' 
print(JSONEncoder (test)) 
+1

「Foundationをインポートしましたか?」あなたはSwift 4を実行していますか? 「スウィフト - バージョン」は何を出力しますか? – Hamish

答えて

1

あなたが使用していませんエンコーダを正しく動作させる。アプリのドキュメントhereを参照この

let encoder = JSONEncoder() 
let json = try? encoder.encode(test) 

を試してみて、唯一のinitメソッドは、このようなものですので、あなたはあなたのJSONの結果を得るために、エンコーダ自体を作成しないでください。

init()

Creates a new, reusable JSON encoder with the default formatting settings and encoding strategies.

+1

これは(Foundationをインポートして)コンパイルしますが、実行時に '[String:Any]'が 'Encodable'でないためクラッシュすることに注意してください。 – Hamish

+0

「JSONEncoder」のために何か特別なものをインポートしなければならないものを私がインポートしていないと思いますか? – Amir

+1

@Amirそれは '財団 'の下にあるので、あなたはそれを持っていなければなりません –