Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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
Json 我可以将部分数据提取到swift可解码字符串中吗?_Json_Swift_Decodable - Fatal编程技术网

Json 我可以将部分数据提取到swift可解码字符串中吗?

Json 我可以将部分数据提取到swift可解码字符串中吗?,json,swift,decodable,Json,Swift,Decodable,比如说 { { 数据:{ 编号:1, 人:{ 姓名:杰森 年龄:18 } } } 试试这个 如果你想得到字符串中的响应,试试这个 let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { print("error=\(String(describing: error))") return }

比如说

{

{ 数据:{ 编号:1, 人:{ 姓名:杰森 年龄:18 } } } 试试这个

如果你想得到字符串中的响应,试试这个

let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { 
print("error=\(String(describing: error))")
    return
}

        if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
            print("statusCode should be 200, but is \(httpStatus.statusCode)")
            print("response = \(String(describing: response))")
        }

        //Here you can convert your response into string...
        let responseString = String(data: data, encoding: .utf8)//Response in String formate
        let dictionary = data
        print("dictionary = \(dictionary)")
        print("responseString = \(String(describing: responseString!))")//I think this is your required string....

        do {
            let response = try JSONSerialization.jsonObject(with: data, options: []) as? [String: AnyObject]
            print(response!)

            //Here you write your json code
            let response2 = [ "data": ["number": 1,"person": ["name": "Jason", "age" : 18]]]

            let data  = response2["data"]
            print(data!) // Output : ["number": 1,"person": ["name": "Jason", "age" : 18]]
            let number = data!["number"]
            print(number!) // Output : 1
            let person = data!["person"]
            print(person!)// Output : ["name": "Jason", "age" : 18]


            //If you want to print name and age 

            let person = data!["person"] as! Dictionary<String,Any>
            print(person)// Output : ["name": "Jason", "age" : 18]
            let name = person["name"]
            print(name!)
            let age = person["age"]
            print(age!)


       } catch let error as NSError {
            print(error)
        }

}

谢谢您的解释,但我需要从可解码结构中获取json字符串