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

How to extract data from JSON with Alamofire

我这样使用 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 库怎么办? 执行此操作的本机方法是什么?

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