gpt4 book ai didi

ios - 如何按字符串日期排序我的 JSON?

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:15 24 4
gpt4 key购买 nike

我有一个从 JSON 中提取数据的应用程序。 JSON 的顺序很重要,因为应用会按照 JSON 的顺序显示其数据。

我已经创建了一个单独的应用程序来创建一个 JSON 对象,将其添加到 JSON 的其余部分并上传。问题是它将它添加到 JSON 文件的顶部。我想在按日期值上传之前对 JSON 重新排序。

我的 JSON 格式如下:

{
"articles":
[
{
"title":"Title 3",
"url":"URL 3",
"date":"04/01/17"
},

{
"title":"Title 2",
"url":"URL 2",
"date":"03/01/17"
},

{
"title":"Title 1",
"url":"URL 1",
"date":"02/01/17"
},
]
}

日期是 dd/MM/yy 格式的字符串。如果我按顺序添加文章,那么就没有问题,因为最新的文章将始终添加到顶部,但有时我会添加前几天的文章,我想将它们放到之前的位置。

有没有办法在通过日期值上传之前对 JSON 进行排序?

最佳答案

既然已经是数组,只需要减去它,转换成Date,然后比较它们,很简单:

let articleArray: [[String:String]] = dict["articles"]!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yy"

dict["articles"] = articleArray.sorted { (first, second) -> Bool in
return dateFormatter.date(from: first["date"]!)! < dateFormatter.date(from: second["date"]!)!
}

SwiftyJSON:

if let articleArray = json["articles"].array {
let sorted = articleArray.sorted(by: { (first, second) -> Bool in
return dateFormatter.date(from: first["date"].stringValue)! < dateFormatter.date(from: second["date"].stringValue)!
})
}

关于ios - 如何按字符串日期排序我的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41476255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com