gpt4 book ai didi

ios - 为什么 SwiftyJSON 无法在 swift 3 中解析数组字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:22:06 25 4
gpt4 key购买 nike

{
"item": [
{
"pid": 89334,
"productsname": "Long Way",
"address": "B-4/7, Malikha Housing, Yadanar St., Bawa Myint Ward,",
"telephone": "[\"01570269\",\"01572271\"]"
},
{
"pid": 2,
"productsname": "Myanmar Reliance Energy Co., Ltd. (MRE)",
"address": "Bldg, 2, Rm# 5, 1st Flr., Hninsi St., ",
"telephone": "[\"202916\",\"09-73153580\"]"
}
],
"success": true
}

我无法使用以下代码从上述 JSON 对象解析 telephone 值。

for item in swiftyJsonVar["item"].array! {
if let jsonDict = item.dictionary {
let pid = jsonDict["pid"]!.stringValue
let productsname = jsonDict["productsname"]!.stringValue

var telephones = [String]()
for telephone in (jsonDict["telephone"]?.array)! {
telephones.append(telephone.stringValue)
}
}
}

我想获取并显示上述JSON的电话号码。我不确定为什么上面的代码不起作用。请帮我解决一下,谢谢。

最佳答案

因为telephone是一个看起来像数组的字符串,而不是数组本身。服务器对这个数组进行了非常糟糕的编码。您需要再次对其进行 JSON 化以遍历电话号码列表:

for item in swiftyJsonVar["item"].array! {
if let jsonDict = item.dictionary {
let pid = jsonDict["pid"]!.stringValue
let productsname = jsonDict["productsname"]!.stringValue

var telephones = [String]()
let telephoneData = jsonDict["telephone"]!.stringValue.data(using: .utf8)!
let telephoneJSON = JSON(data: telephoneData)

for telephone in telephoneJSON.arrayValue {
telephones.append(telephone.stringValue)
}
}
}

关于ios - 为什么 SwiftyJSON 无法在 swift 3 中解析数组字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316387/

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