[英]Convert Encoded String To JSON Array in Swift
我有一个编码字符串:
("[{"carMake":"Mercedes","phone":"03001234567","insurancePolicyNo":"0123456","email":"a@g.com","full_name":"Steven Fin"," registrationNo":"02134","insuranceProvider":"Michael","carModel":"Benz"}, {"carMake":"Audi","phone":"03007654321","insurancePolicyNo":"654321"," email":"b@g.com","full_name":"Flemming Smith","registrationNo":"4325","insuranceProvider":"Buttler","carModel":"A3"}]")
我想将其转换为 JSON 数组,如下所示:
[
{
"full_name": "Steven Finn",
"insuranceProvider": "Michael",
"insurancePolicyNo": "0123456",
"registrationNo": "02134",
"carMake": "Mercedes",
"carModel": "Benz",
"email": "a@g.com",
"phone": "03001234567"
},
{
"full_name": "Flemming Smith",
"insuranceProvider": "Buttler",
"insurancePolicyNo": "654321",
"registrationNo": "4325",
"carMake": "Audi",
"carModel": "A3",
"email": "b@g.com",
"phone": "03007654321"
}
]
经过一番搜索,我所做的是将其转换为字典,结果是:
[[“registrationNo”:02134,“carModel”:奔驰,“电话”:03001234567,“电子邮件”:a@g.com,“insuranceProvider”:迈克尔,“insurancePolicyNo”:0123456,“carMake”:梅赛德斯,“full_name ": Steven Finn], ["carModel": A3, "insuranceProvider": Buttler, "carMake": Audi, "insurancePolicyNo": 654321, "full_name": Flemming Smith, "registrationNo": 4325, "phone": 03007654321, “电子邮件”:b@g.com]]
这不是预期的结果。
有谁知道如何实现我想要的阵列?
你所谓的Encoded String
已经是 json 数据。 试试这个把它解码成一个Car
模型:
struct Car: Codable {
let carMake, phone, insurancePolicyNo, email: String
let full_name, registrationNo, insuranceProvider, carModel: String
}
struct ContentView: View {
var body: some View {
Text("testing")
.onAppear {
let str = """
[{"carMake":"Mercedes","phone":"03001234567","insurancePolicyNo":"0123456","email":"a@g.com","full_name":"Steven Fin","registrationNo":"02134","insuranceProvider":"Michael","carModel":"Benz"}, {"carMake":"Audi","phone":"03007654321","insurancePolicyNo":"654321","email":"b@g.com","full_name":"Flemming Smith","registrationNo":"4325","insuranceProvider":"Buttler","carModel":"A3"}]
"""
do {
let data = str.data(using: .utf8)!
let response = try JSONDecoder().decode([Car].self, from: data)
print("\n---> response \(response)")
} catch {
print(" error \(error)")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.