将 SwiftyJSON 对象分配给字符串数组
Posted
技术标签:
【中文标题】将 SwiftyJSON 对象分配给字符串数组【英文标题】:Assign SwiftyJSON object to a String Array 【发布时间】:2017-03-10 09:19:01 【问题描述】:我正在 swift 3 中开发一个项目并调用 Web 服务,我使用 AlamoreFire 和 SwiftyJASON (pods)。格式如下:
APIManager.apiGet(serviceName:appURLs.mainBaseURL+appURLs.testingPureLight, parameters: params) (json:JSON?, error:NSError?) in
if error != nil
print("error:",error as Any)
print(json!)
因此,我得到一个 JSON 类型的 Json 响应,因此,我得到以下结构作为我的响应。
"media": [
"key" : "value"
"Objectarray"[
"Object1":"somevalue"
"key2":"somevalue"
"key3":"somevalue"
"Object2":"somevalue"
"key2":"somevalue"
"key3":"somevalue"
"Object3":"somevalue"
"key2":"somevalue"
"key3":"somevalue"
]
]
我的要求是捕获这个“Objectarray”并将其分配给一个字符串数组,这样我就可以使用它来填充我的 UITableVIew。我怎样才能做到这一点?
【问题讨论】:
是Objectarray
包含像Object1
、Object2
、Object3
之类的键...或者您已经这样写了。
对象数组有字典元素,称为 Object1、Object2、Object3,在里面只有你得到键值对。例如,在 Object1 内部可能包含一对,它可能是-> Object1"name" : "john"
我要问的是Object1
、Object2
、Object3
...是实际的键吗?
是的,它们是键,但在单独的字典中,我会更新代码以使其更有意义
【参考方案1】:
您可以通过这种方式获取您的Objectarray
。
var objects = [String]()
if let jsonResponse = json,
let objectArray = jsonResponse["media"][0]["Objectarray"].arrayValue
for object in objectArray
let object1 = object["Object1"].stringValue
objects.append(object1)
【讨论】:
不,先生,因为我已经提到我想知道的是如何将它分配给字符串数组并在我的 cellForRow 方法中使用它。根据你上面写的,对象数组的类型是 JSON。不是字符串 我猜有些支架丢失了。出了点问题它不起作用。这么多错误,但基本的想法虽然 @danutha 然后你需要正确你的代码并检查括号丢失的位置,因为在我的回答中没有丢失括号,所有左括号都有右括号。以上是关于将 SwiftyJSON 对象分配给字符串数组的主要内容,如果未能解决你的问题,请参考以下文章
使用 SwiftyJSON 将 JSONArray 解析为字符串数组
使用 SwiftyJSON 将元组数组转换为 JSON 字符串