gpt4 book ai didi

ios - 自定义对象数组的 JSONSerialization

转载 作者:行者123 更新时间:2023-11-28 12:35:59 27 4
gpt4 key购买 nike

我有一个自定义类

public class Balance: NSObject {
var details: String
var date: Date
var amount: Double
}

我试过作为一个结构和作为一个类都失败了

我有一个余额数组 list: [Balance]

现在我需要将这个数组转换成一个 JSON 字符串像

[ {details = "text"; date = "2016-11-20"; amount = 0;} ,
{details = "text2"; date = "2016-11-25"; amount= 10;} ]

我还需要能够将字符串转换回数组。但我什至无法将数组转换为 JSON 字符串来工作

var resStr = ""
var list: [Balance]
do {
let data = try JSONSerialization.data(withJSONObject: list, options: .prettyPrinted)
resStr = String.init(data: data, encoding: .utf8) ?? ""
} catch { fatalError("Error BALANCE HISTORY ") }

失败 'JSON 写入中的无效类型(余额)'

请指教提前致谢

最佳答案

像这样定义你的类怎么样:

public class Balance: NSObject {
var details: String
var date: Date
var amount: Double
func toJSONString() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
return "{details = \(self.details); date = \(dateFormatter.string(from: self.date)); amount = \(self.amount);}"
}
}

然后您可以像这样创建完整的 JSON 字符串:

var fullJSONArray = [String]()
for balance in list {
fullJSONArray.append(balance.toJSONString)
}
let fullJSONString = fullJSONArray.description

希望对您有所帮助!祝您好运,如果您还有任何疑问或问题,请告诉我!

关于ios - 自定义对象数组的 JSONSerialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40899836/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com