【问题标题】:JSON option to allow fragments not set允许未设置片段的 JSON 选项
【发布时间】:2016-06-02 18:07:13
【问题描述】:

我可以看到以前有人问过这个问题,但找不到任何人在任何地方都接受了答案。我的错误是:

NSDebugDescription=JSON 文本没有以数组或对象开头,并且允许未设置片段的选项。

let myUrl = NSURL(string: "http://www.example.com/xxx.php")
    let request = NSMutableURLRequest(URL:myUrl!);
    let session = NSURLSession.sharedSession()
    request.HTTPMethod = "POST";

    let postString = "email=\(useremail)&pass=\(userpassword)&username=\(username)"
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
    let task = session.dataTaskWithRequest(request) { (data, response, error) in
        // if error
        if error != nil {
            print("error=\(error)")
            return
        }

        var json: NSDictionary? = nil
        do {
            json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
        } catch {
            print("error=\(error)")
        }
                  if let parseJSON = json {

            let resultvalue = parseJSON["status"] as? String
            print("result: \(resultvalue)")


        var isuserregistered:Bool = false;
        if(resultvalue=="Success") { isuserregistered = true; }

        var messagetodisplay:String = parseJSON["message"] as! String!;
        if(!isuserregistered)
        {
            messagetodisplay = parseJSON["message"] as! String!;

            }}

我正在尝试发送电子邮件、密码、用户名,并成功展示我的警报和更改视图控制器。但我还没有点击数据库。它是通过 url 的 PHP 和 MYSQL。

【问题讨论】:

    标签: php mysql json swift


    【解决方案1】:

    尝试更改此行

    json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
    

    到这里

    json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as? NSDictionary
    

    【讨论】:

    • 感谢您清除了错误,但现在我抛出了另一个“字符 0 周围的无效值”。
    • 我认为这意味着您的 JSON 文件中有一些不正确的 JSON 格式。
    猜你喜欢
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 2018-05-21
    • 2014-01-06
    相关资源
    最近更新 更多