如何使用Alamofire从JSON中提取数据

时间:2015-11-11 00:37:37

标签: ios json swift alamofire swifty-json

我以这种方式使用Alamofire库:

 Alamofire.request(.POST, "http://www.somesample.com/getData.php", parameters: ["user":"charles"]).responseJSON{jsonData in

var theData = jsonData.result.value

如果我调试打印theData变量,它会抛出类似:

    [
  {
    "userId" : "61",
    "userPicture" : "147884767502.jpg",
    "wasId" : "80",
    "favorite" : "0",
    "message" : "how are you?",
    "username" : "paco",
    "date" : "13\/10\/2015 03:44PM",
    "userPhrase" : "hello"
    "repliesNumber" : 2
  },
  {
    "userId" : "3",
    "userPicture" : "149181897286.jpg",
    "wasId" : "5",
    "favorite" : "0",
    "message" : "let's go!",
    "username" : "loliFlower",
    "date" : "30\/08\/2015 07:48PM",
    "userPhrase" : "ciiiii!",
    "repliesNumber" : 3
  }
]

我通常使用SwiftyJSON,所以我写(甚至我使用for循环来遍历SwiftyJSON所做的数组的每个索引:

var myData = JSON(theData.result.value)

print(myData[0]["username"].stringValue)

但是如果我不想再使用SwiftyJSON库呢? 这样做的原生方式是什么?

1 个答案:

答案 0 :(得分:0)

我建议您使用代码生成来创建json响应中的本机模型,这将节省您手动解析的时间并降低因错误键导致的错误风险,所有元素都可以通过模型属性访问,将纯粹是原生的,模型将更有意义,而不是检查键。检查http://www.json4swift.com并告诉我您是否需要从json响应中启动对象的进一步帮助。 (确保输入实际的json响应,而不是输入问题中的打印对象)