gpt4 book ai didi

arrays - 如何在数组中保存多个json对象

转载 作者:行者123 更新时间:2023-11-28 08:23:28 24 4
gpt4 key购买 nike

大家好,我有 json 对象。我想在数组中讲述许多 json 对象。我的意思是我想将患者信息保存在一个 json 对象中。这是工作。但我无法在一个 json 对象中保存多个患者信息。我应该在数组中插入我的 json 对象吗?

    let jsonData = try! JSONSerialization.data(withJSONObject: para, options: JSONSerialization.WritingOptions.init(rawValue: 0))

jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue) as! String

print(jsonString)

do {
let SavedPatient = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject]
print("SavedPatient \(SavedPatient)")
if let arrJSON = SavedPatient["contacts"] {
for index in 0...arrJSON.count-1 {
let aObject = arrJSON[index] as! [String : AnyObject]
print("object in array \(aObject)")
}
}
}
catch {
print(error)
}

let utf8str = jsonString.data(using: String.Encoding.utf8)
if let base64Encoded = utf8str?.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))
{
let encodedData = NSData(base64Encoded: base64Encoded, options:NSData.Base64DecodingOptions(rawValue:0))
//let data = encodedData
if encodedData != nil {
//write
encodedData?.write(toFile: "\(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])/offline", atomically: true)

}
}

最佳答案

是的,您可以将它们存储在一个数组中,但是如果您为您的Patient 定义一个structclass 会更清楚> 类型,使用 JSON 数据设置其属性,然后将 Patient 对象存储在数组中。

例如,Patient 结构:

struct Patient {
var lastName: String?
var firstName: String?
// etc.
}

并初始化一个数组来存储患者:

var patients = [Patient]()

然后,当您读取每个 JSON 对象时,创建一个 Patient:

var lastName = aObject["lastName"]    // or whatever your JSON field is named
var firstName = aObject["firstName"] // or whatever your JSON field is named
var patient = Patient(lastName: lastName, firstName: firstName /*, etc. */)

并将其粘贴到数组中:

patients.append(patient)

请注意,我将结构的属性声明为可选

关于arrays - 如何在数组中保存多个json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40712164/

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