首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将JSON字符串保存在对象中

将JSON字符串保存在对象中
EN

Stack Overflow用户
提问于 2018-06-08 04:47:45
回答 1查看 102关注 0票数 3

我想将JSON字符串保存到Swift中的现有对象中:

这是我的对象:

struct Benutzer : Decodable, Encodable{
let userRights: [String]
}

这是我的字符串:

str = "{"user_rights":["terminal_create"]}"

这就是我的代码:

do { let data1 = str.data(using: String.Encoding.utf8, allowLossyConversion: false)

let User = try JSONDecoder().decode(Benutzer.self, from: data1 as Data)

print(User)

 }catch{
       print("Error serializing!")
  }

这段代码是“序列化错误!”每次都会出现。你们知道怎么回事吗?对不起,我还是个完全的初学者。很抱歉没有格式化这个问题,我不太明白:(我从另一个JSON请求中得到这个字符串:我得到这个作为答案,我想解码的JSON数据字符串是这个答案的一部分:

答案(api_version: 1,result:"login",success: true,token:"da39a3ee5e6b4b0d3255bfef95601890afd80709",data:"{\"user_rights\":\"terminal_create\"}")

这是一个答案对象:

struct Answer: Decodable, Encodable{

    let api_version: Int
    let result: String
    let success: Bool
    let token: String
    let data: String

}

也许您知道另一种将数据提取到Benutzer对象中的方法。我真的会很感激,非常感谢大家!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 04:56:30

您的编码键与字符串userRights中的不同,user_rights

所以你可以这样做:

struct Benutzer: Codable {
        let userRights: [String]

        enum CodingKeys: String, CodingKey {
            case userRights = "user_rights"
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档