私のswift
アプリでは、webserviceからコメントを取得しています。着信JSONの一般的な形式は:(alamofire
で)print(response.result.value)
SwiftyJSONでjsonの特定の形式を解析するにはどうすればよいですか?
全体クエリ次のように見える:
comments = (
{
"_id" = 57e460a4d9f58eb150470a0a;
content = "fsagsd";
"sent_at" = "2016-09-22T22:52:20.061Z";
"username" = kamil;
},
{
"_id" = 57e460c0d9f58eb150470a0b;
content = "hfdhfd";
"sent_at" = "2016-09-22T22:52:48.682Z";
"username" = kamil;
}
);
これは、実際の結果である
Alamofire.request(.GET, "\(serverURL)/get/\(case_id)/comments/"/*, headers: headers*/)
.validate()
.responseJSON { response in
switch response.result {
case .Success:
print("success")
if let jsonData = response.result.value as? [[String: AnyObject]] {
for myJSON in jsonData {
if let myTest = SingleComment.fromJSON(JSON(myJSON)){
self.items.addObject(myJSON)
self.myTable.reloadData()
}
}
}
が、コメントがあるので私のjsonでcomments
に埋め込まれています - 私はself.items.addObject(myJSON)
に決して到達しません。あなたは私のSWIFTコードを調整するために私を助けてくださいすることができます - 私は、着信JSONを変更することはできませんので、
{
"_id" = 57e460a4d9f58eb150470a0a;
content = "fsagsd";
"sent_at" = "2016-09-22T22:52:20.061Z";
"username" = kamil;
},
{
"_id" = 57e460c0d9f58eb150470a0b;
content = "hfdhfd";
"sent_at" = "2016-09-22T22:52:48.682Z";
"username" = kamil;
}
は:私は、着信JSONのようなものを見た場合、それが働くだろうと思いますか?
1件の追加情報 - 次のようにfromJSON
機能は次のとおりです。
class func fromJSON(json: JSON) -> SingleComment? {
print("single comment from json")
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let username = json["username"].string
let content = json["content"].string
let sent_at = json["sent_at"].string
let id = json["_id"].string
let upd = dateFormatter.dateFromString(sent_at!)
return SingleComment(username: username!, content: content!, sent_at: upd!, id: id!)
}
ありがとう、それは今働きます! – user3766930