2014-09-12 30 views
1

PHP JSON和Swift JSON的一些问题。请帮我弄清楚多余的空间,\ n和其他的东西。为什么输出不是一个干净的连续字符串。我不需要漂亮的打印或任何东西。php json_encode&newline,swift JSONSerialization导致奇怪的输出

PHP:

$sql = "SELECT * FROM entries"; 
$stmt = $db->prepare($sql); 
$stmt->execute(); 
$entries = $stmt->fetchAll(PDO::FETCH_OBJ); 
$db = null; 
echo '{"root":'.json_encode($entries).'}'; 

斯威夫特:

var request : NSMutableURLRequest = NSMutableURLRequest() 
    request.URL = NSURL(string: url) 
    request.HTTPMethod = "GET" 

    NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in 

     var error: NSError? 
     let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.AllowFragments, error: &error) as? NSDictionary 

     if (jsonResult != nil) { 
      println(jsonResult?.description) 
     } else { 
      println(jsonResult?.description) 
     } 

控制台输出:

Optional("{\n root =  (\n    {\n   id = 1;\n   text = \"Test Entry\";\n  },\n    {\n   id = 2;\n   text = \"Test Entry 2\";\n  }\n );\n}") 

数据库:

enter image description here

回答

0

做这一点:

println(jsonResult!.description) 

或者这样:

println(NSString(data:data, encoding:NSUTF8StringEncoding)) 
+0

而是在一个可选的包装吧,解开可选(? vs!) – ccwasden 2014-09-12 23:15:14

+0

完美!谢谢。 – 2014-09-12 23:17:49