从json响应Swift获取价值

时间:2015-12-03 08:37:45

标签: ios json swift

[{
  "_text" = "turn off the air con";
  confidence = "0.609";
  entities =     {
      "on_off" =         (
                    {
              value = off;
          }
      );
  };
  intent = "aircond_temperature";
}]

我有一个名为“结果”的json响应,我想从“on_off”中提取“off”值。

到目前为止,我所做的是从响应中获取第一个元素,然后将其转换为可正常工作的NSDictionary,然后使用object for key获取每个字典的值,并将它们转换为各自的字典。类型。

let firstOutcome:NSDictionary = outcomes.first as! NSDictionary
let intent:String = firstOutcome.objectForKey("intent") as! String
let entities:NSDictionary = firstOutcome.objectForKey("entities") as! NSDictionary

但是当谈到实体时我不知道应该将“on_off”转换为什么类型。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您的“on_off”键包含字典数组,因此您可以尝试使用此代码访问它。

let entities:NSDictionary = firstOutcome.objectForKey("entities") as! NSDictionary
let onOff = entities["on_off"] as! NSArray
let firstValue = onOff.firstObject as! NSDictionary
print(firstValue["value"])

答案 1 :(得分:0)

试试这段代码:

let entities = entities["on_off"]

for var entity in entities {
    print_r(entity["value"])
}

答案 2 :(得分:0)

括号讲述了整个故事。 {是一个对象或字典,(是一个数组。因此,entities是一个包含字典数组的字典,其中内部字典具有字符串键和值。