Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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
如何在swift中从JSON字符串中获取键值_Json_Swift_Parsing - Fatal编程技术网

如何在swift中从JSON字符串中获取键值

如何在swift中从JSON字符串中获取键值,json,swift,parsing,Json,Swift,Parsing,我有一个JSON字符串值如何使用swift代码从JSON中获取键值 {   "user":{  "id":"74d93200-2ed2-437c-976f-83710eaea923","firstName":"dev","lastName":"che", "username":"dev_che"}} 因此,如何使用swift代码获取“用户名”值?首先定义用户结构 {   "user":{  "id":"74d93200-2ed2-437c-976f-83710eaea923","firstN

我有一个JSON字符串值如何使用swift代码从JSON中获取键值

{ 
 "user":{  "id":"74d93200-2ed2-437c-976f-83710eaea923","firstName":"dev","lastName":"che", "username":"dev_che"}}

因此,如何使用swift代码获取“用户名”值?

首先定义用户结构

{ 
 "user":{  "id":"74d93200-2ed2-437c-976f-83710eaea923","firstName":"dev","lastName":"che", "username":"dev_che"}}
struct UserModel: Codable {
    let user: User?
}

struct User: Codable {
    let id, firstName, lastName, username: String?
}
然后从json解码您的模型

let userData=
“{\'user\:{\'id\:\'74d93200-2ed2-437c-976f-83710eaea923\”,“firstName\”:“dev\”,“lastName\”:“che\”,“username\:“dev\u che\”}”
让data=userData.data(使用:.utf8)!
让userModel=try?JSONDecoder().decode(UserModel.self,from:data)
然后您可以这样使用它:


userModel.username

首先定义用户结构

struct UserModel: Codable {
    let user: User?
}

struct User: Codable {
    let id, firstName, lastName, username: String?
}
然后从json解码您的模型

let userData=
“{\'user\:{\'id\:\'74d93200-2ed2-437c-976f-83710eaea923\”,“firstName\”:“dev\”,“lastName\”:“che\”,“username\:“dev\u che\”}”
让data=userData.data(使用:.utf8)!
让userModel=try?JSONDecoder().decode(UserModel.self,from:data)
然后您可以这样使用它:


userModel.username

jsonData应为哪种类型?当我将其作为字符串给出时,我得到了一个错误,因为无法将“String”类型的值转换为预期的参数类型“Data”@MahalakshmiSaravanan,它需要是
数据
,因此您必须
保护让jsonData=text.Data(使用:.utf8),否则{return}
首先执行此操作。Always的答案是正确的,但如果您不想使用
Codable
方法,则可能会有所帮助。@Ayazmon我将以nil UserDetails(id:nil,firstName:nil,lastName:nil,username:nil)的形式获取值)@Mac3n userModel.username使用此代码无法获取用户名,因为我获取的错误为“userModel”类型的值没有成员“username”。请尝试userModel.user.usernamejsonData应为哪种类型?当我将其作为字符串给出时,我得到了一个错误,因为无法将“String”类型的值转换为预期的参数类型“Data”@MahalakshmiSaravanan,它需要是
数据
,因此您必须
保护让jsonData=text.Data(使用:.utf8),否则{return}
首先执行此操作。Always的答案是正确的,但如果您不想使用
Codable
方法,则可能会有所帮助。@Ayazmon我将以nil UserDetails(id:nil,firstName:nil,lastName:nil,username:nil)的形式获取值)@使用此代码的Mac3n userModel.username无法获取用户名,因为我获取的错误为“userModel”类型的值没有成员“username”,请尝试userModel.user.username