有没有人知道如何在数组的索引处获取对象,使用特定键的值,并将其设置为字符串?
我过去常常在Objective-C中这样做,但我无法弄清楚如何在Swift中做到这一点:
NSString *rT = [[self.rA objectAtIndex:0] valueForKey:@"Value"];
我尝试过不同的事情,但他们不能工作:
if let JSON = response.result.value {
print("JSON: \(JSON)")
var name: String? = self.rA[0].valueForKey("item_1") as? String
}
端点:
[
{
"item_1": "Austin",
"item_2": "Texas"
}
]
日志记录:
2016-04-01 13:35:42.787 A[66185:7391524] Response Array: (
{
"item_1" = Austin;
"item_2" = Texas;
}
)
答案 0 :(得分:0)
我假设你有类似字典数组的东西,所以我在这里做了一些测试它是示例代码:
<强>更新强>
let jsonString = "[ { \"item_1\": \"Austin\", \"item_2\": \"Texas\" }, { \"item_3\": \"Austin3\", \"item_4\": \"Texas4\" } ]"
var array = []
do {
array = try NSJSONSerialization.JSONObjectWithData(jsonString.dataUsingEncoding(NSUTF8StringEncoding)!, options:.AllowFragments) as! NSArray
} catch {
print(error)
}
if let unwrappedValue = (array[0]["item_1"]){
print(unwrappedValue)
}
它将返回一个可选项,因此最好使用if let
语句来解包值
对于您的使用,此代码应如下所示:
if let JSON = response.result.value {
if let unwrappedValue = (JSON[0]["item_1"]){
print(unwrappedValue)
}
}