2016-12-22 9 views
0

jsonオブジェクトをサーバーに送信しようとしています。サーバーは、オブジェクトがこの形式であることを期待:swsonで間違ったjson形式

{ 
"Lat": 10.33688590000001, 
"Name": "nameOfSomething", 
"Lng": 58.43135800000005 
} 

が、私は、オブジェクトを定義した後に取得していたオブジェクトがこれです:

[ 
"Lat": 10.33688590000001, 
"Name": nameOfSomething, //this is missing "" 
"Lng": 58.43135800000005 
] 

私が使用しているコードは、このです:

let jsonObject: [String: AnyObject] = [ 

    "Lat": lat, 
    "Name": nameOfSender.text!, 
    "Lng": lng 
    ] 


let jsonData = try! NSJSONSerialization.dataWithJSONObject(jsonObject, options: .PrettyPrinted) 

これを解決する方法はありますか?

+0

JSONをサーバーに送信するために '.PrettyPrinted'の代わりに' [] 'を使わないでください。 – Moritz

+0

@Eric Aya - うまくいきませんでした。私はエラーがどこかにあると思う "let jsonObject:[String:AnyObject] = ["オブジェクトを定義する行[ – markan3

+0

]あなたは実際にサーバーに送信していますか?あなたのコードでは、サーバーに問題を引き起こす可能性のあるものは何も表示されません(かなり印刷されますが、これは理由ではありません)。かなり印刷されていないJSONデータを見て送信することに頼らないでください - どうしますか?エラーメッセージとは何ですか? – Moritz

答えて

0
Please Look on this. it will give you correct answer. 
    /// Use this method to get JSON string from Dictionary. 
    /// 
    /// 
    /// - returns: `String` for Dictionary 
    func getJSONStringForDictionary(dict:[String:AnyObject]) -> String { 
    do { 
     let jsonData = try NSJSONSerialization.dataWithJSONObject(dict, options: []) 
     if let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding) as? String { 
     return jsonString 
     } 
     // here "jsonData" is the dictionary encoded in JSON data 
    } catch let error as NSError { 
     print(error) 
    } 
    return "" 
    } 


/* calling */ 


let json = self.getJSONStringForDictionary(jsonObject) 


    print(json) 
//{ 
    "Lat" : 10.33688590000001, 
    "Name" : "nameOfSomething", 
    "Lng" : 58.43135800000005 
} 
関連する問題