【发布时间】:2014-12-22 18:20:40
【问题描述】:
JSON:
{
"projects":[
{
"id":113,
"name":"Mobile app Android",
"description":"",
"created_on":"2014-10-03T16:53:56+02:00",
"updated_on":"2014-12-03T16:59:45+01:00"
},
{
"id":142,
"name":"Mobile app iOS",
"created_on":"2014-12-11T18:30:55+01:00",
"updated_on":"2014-12-11T18:30:55+01:00"
},
{
"id":52,
"name":"Test project",
"identifier":"grafikr",
"description":"",
"created_on":"2013-10-14T17:21:33+02:00",
"updated_on":"2014-10-10T17:40:47+02:00"
},
{
"id":37,
"name":"Sample project",
"identifier":"grafikf",
"description":"",
"created_on":"2013-09-18T16:31:25+02:00",
"updated_on":"2013-09-26T13:11:58+02:00"
}
],
"total_count":4,
"offset":0,
"limit":25
}
很容易通过 var name = json["projects"][0]["name"].stringValue
但是如何访问 SwiftyJSON 中的所有名称?如果我创建一个变量 var projects = json["projects"],它会给我:
[
{
"id" : 113,
"created_on" : "2014-10-03T16:53:56+02:00",
"name" : "Mobile app Android",
"description" : "",
"updated_on" : "2014-12-03T16:59:45+01:00"
},
...
现在我不再有从数据制作 NSDictionary 的问题了,但这让我抓狂。
【问题讨论】:
-
您不需要像这样使用
as进行投射。ID已经是一个字符串。 -
另外,风格约定是使用驼峰式变量,而不是大写或蛇形大小写。对于
init,请尝试使用self.id = id而不是id = ID。 -
还有一件事——它可能应该是
Project(单数,而不是复数)。要一次处理多个项目,请使用一组项目 ([Project])。 -
@matt:id 是 Objective-C 中的保留字,意思是“指向任何类型的 Objective-C 对象的指针”。您永远不应该尝试调用属性或变量“id”。
-
@gnasher729 恕我直言,我知道
id是什么。这是 Swift,而不是 Objective-C。
标签: ios swift alamofire swifty-json