Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JSON文本没有以数组或对象开头,并且没有设置允许片段的选项-Swift 3.0_Php_Json_Swift3_Xcode8 - Fatal编程技术网

Php JSON文本没有以数组或对象开头,并且没有设置允许片段的选项-Swift 3.0

Php JSON文本没有以数组或对象开头,并且没有设置允许片段的选项-Swift 3.0,php,json,swift3,xcode8,Php,Json,Swift3,Xcode8,我有个问题 如何读取JSON数据并在标签上显示?错误是 “JSON文本没有以数组或对象开头,并且没有设置允许片段的选项” 我有以下提取JSON数据的PHP代码: {"login":"ID0001"} test.php <?php $connect = mysqli_connect("","","",""); global $connect; if(isset($_POST['login'])) { $login = $_POST['login']

我有个问题

如何读取JSON数据并在标签上显示?错误是

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

我有以下提取JSON数据的PHP代码:

{"login":"ID0001"}
test.php

<?php
    $connect = mysqli_connect("","","","");
    global $connect;
    if(isset($_POST['login'])) {
        $login  = $_POST['login'];
        $sql    = "SELECT * FROM table WHERE login='$login'";
        $result = mysqli_query($connect, $sql);
        if($result && mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_array($result)){
                $login_db = $row['login'];
                $output   = array ('login'=>$login_db);
            }
            print (json_encode($output));
        mysqli_free_result($result);
        }
        else {
            echo "No data found!";  
            echo mysqli_error($connect);
        }
    }
    else {
        echo "No input";
    }   
?>

谢谢。

让我们基本上调试一下您得到的JSON是什么:在哪里执行
打印(“此处的值”)
,执行
打印(字符串(数据:数据,编码:.utf8)!)
import UIKit
class ViewController: UIViewController {
    @IBOutlet var _login: UITextField!
    @IBOutlet var _loginLbl: UILabel!
    @IBOutlet var sendButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func sendData(_ sender: Any) {
        let login = _login.text
        if(login == "") {
            print("No value entered")
            return
        }

        let postString = "login=\(login)"
        print("JSON value =\(postString)")

        let url = URL(string: "http://localhost/get.php")
        var request = URLRequest(url: url!)
        request.httpMethod = "POST"
        request.httpBody = postString.data(using: String.Encoding.utf8)
        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in

            guard let data = data else {
                self._loginLbl.text = "Error data"
                print("Error result =\(error)")
                return
            }
            do {

                print("Value here")
                if let json = try JSONSerialization.jsonObject(with: data) as? [String: String] {
                    DispatchQueue.main.async {
                        let loginvalue = json["login"]
                        self._loginLbl.text = loginvalue;
                        print(json)
                    }
                }
            } 
            catch let parseError
            {
                print("Catch error: \(parseError)")
                self._loginLbl.text = "Catch error";

                let responseString = String(data: data, encoding: .utf8)
                print("response :\(responseString)")
            }
        }
        task.resume()
    }
}