Swift - JSON 响应以 \u201c 开始,以 \u201d 结束 [关闭]

Posted

技术标签:

【中文标题】Swift - JSON 响应以 \\u201c 开始,以 \\u201d 结束 [关闭]【英文标题】:Swift - JSON Response Begins with \u201c and end with \u201d [closed]Swift - JSON 响应以 \u201c 开始,以 \u201d 结束 [关闭] 【发布时间】:2015-12-22 03:13:56 【问题描述】:

我有一个 Swift 脚本,它现在的意图是首先将 JSON 字符串发送到 php 文件;第二,返回发送到XCODE控制台中解析的php脚本的值;第三个返回以下值之一。但是,我的字符串返回以 \u201C 开头并以 \u201d 结尾的值。

有人可以先告诉我,为什么会这样,第二,如何解决?

override func viewDidLoad() 
        super.viewDidLoad()


        let myUrl = NSURL(string: "http://localhost/phpPost/demo.php");
        let request = NSMutableURLRequest(URL: myUrl!);
        request.HTTPMethod = "POST";



let postString = "firstName=James&lastName=Bond";

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);

let task = NSURLSession.sharedSession().dataTaskWithRequest(request) 
    data, response, error in
    if error != nil 
        println("error=\(error)")
        return
    
    println("******response = \(response)")

    // Print out response body
    let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
    println("****response data=\(responseString)")

    //Let’s convert response sent from a server side script to a NSDictionary object:

    var err: NSError?
    var myJSON = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error:&err) as? NSDictionary

    if let parseJSON = myJSON 
        var firstNameValue = parseJSON["firstName"] as? String
        println("firstName: \(firstNameValue)")
    


task.resume()

另外,这里是 PHP:

<?php
$firstName= $_REQUEST["firstName"];
$lastName = $_REQUEST["lastName"];// Store values in an array
$returnValue = array(“firstName”=>$firstName, “lastName”=>$lastName);
// Send back request in JSON format
echo json_encode($returnValue); 
?>

这是返回的内容:

****响应数据=可选("\u201cfirstName\u201d":"James","\u201clastName\u201d":"Bond") 名字:无

【问题讨论】:

【参考方案1】:

仔细查看您在此处发布的内容。将 PHP 中 $returnValue 中的引号与之前两行中的引号进行比较。您使用的是大引号而不是简单的双引号。

你有:

$returnValue = array(“firstName” => $firstName, “lastName” => $lastName);

你想要:

$returnValue = array("firstName" => $firstName, "lastName" => $lastName);

【讨论】:

效果很好 - 我很感激。开始认为这是 PHP 的问题,而不是 swift 的问题,但我无法解决。

以上是关于Swift - JSON 响应以 \u201c 开始,以 \u201d 结束 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将用户登录的 JSON 响应保存到 Core Data 中以跟踪 Swift 中的用户状态?

AFNetworking 和 Swift - 保存 json 响应

Alamofire Swift HTTPPost 登录和 JSON 响应

Swift 3 Alamofire JSON 响应

iOS Swift 解析来自 Alamofire 的 JSON 响应

使用 Swift 访问 JSON