web-dev-qa-db-ja.com

NSDictionaryをSwift(iOS、Xcode)のJson Stringに変換する方法は?

私は次の問題に苦しんでいます。..NSDictionaryはそのようなものです:

var dic : NSDictionary = [ "level" :
    [
        ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0],
        ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0],
        ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 0,"up" : 0],
        ["column" : 0,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0],
        ["column" : 1,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0],
        ["column" : 2,"down" : 0,"left" : 0,"right" : 0,"row" : 1,"up" : 0]
    ]
]

しかし、これを印刷すると、

print(dic);  or print(“\(dic)”);

出力は次のとおりです。

{
    level =     (
                {
            column = 0;
            down = 0;
            left = 0;
            right = 0;
            row = 0;
            up = 0;
        },
                {
            column = 1;
            down = 0;
            left = 0;
            right = 0;
            row = 0;
            up = 0;
        },
                {
            column = 2;
            down = 0;
            left = 0;
            right = 0;
            row = 0;
            up = 0;
        },
                {
            column = 0;
            down = 0;
            left = 0;
            right = 0;
            row = 1;
            up = 0;
        },
                {
            column = 1;
            down = 0;
            left = 0;
            right = 0;
            row = 1;
            up = 0;
        },
                {
            column = 2;
            down = 0;
            left = 0;
            right = 0;
            row = 1;
            up = 0;
        }
    ); }

正確なJson Stringを取得するにはどうすればよいですか? Swiftでは、xcode?

12

この種の複雑なロジックを実装する必要はありません。

あなたは単にこれを行うことができます

var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(dictionary, options: NSJSONWritingOptions.PrettyPrinted, error: &error)!
    if error == nil {
        return NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String
    }

aPIを使用してサーバーに送信する場合は、Stringに変換する必要もありません

29
Mihir Mehta