如何解析Swift中从php收到的数据编码?

时间:2015-09-30 09:48:29

标签: php ios swift swift2

我使用以下格式从php文件接收数据:

 {"object:value", "object2:value2"...}
 {"object:value", "object2:value2"...}

我知道如何在Swift2中使用下一个代码重复更改separateBy string来解析它:

  if let url = NSURL(string: strURL), let data = NSData(contentsOfURL: url) {
        let strResult = NSString(data: data, encoding: NSUTF8StringEncoding)

    }
 tareas = strResult!.componentsSeparatedByString(",")

但我想更轻松地解析这个问题。我已经阅读了其他问题和答案,但要解析的格式是:

[
 {"person": {"name":"Dani","age":"24"}},
 {"person": {"name":"ray","age":"70"}}
]

我的数据不同。我怎样才能更容易地做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以把它读作像这样的数组

首先,您需要像这样在有效的json中转换数据然后访问它

Response:  (
        {
        person =         {
            age = 24;
            name = Dani;
        };
    },
        {
        person =         {
            age = 70;
            name = ray;
        };
    }
)
Oth Object:  {
    person =     {
        age = 24;
        name = Dani;
    };
}

实施例

GROUP BY

<强>输出

GROUP BY

答案 1 :(得分:0)

我建议您使用SwiftyJSON (6k+ stars)库将响应转换为JSON对象。类似的东西:

   if let url = NSURL(string: strURL), let data = NSData(contentsOfURL: url) {
        let json = JSON(data: data!)
    }

之后,您可以轻松地从JSON

中提取任何信息
for item:JSON in json.arrayValue{
    let person = item["person"].dictionaryValue
    //...
}

Playground printscreen