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