如何在swift中从JSON字符串中获取键值
我有一个JSON字符串值如何使用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
{
"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