要按日期字符串形式对JSON对象排序,可以按照以下步骤进行操作:
下面是一个示例代码,用于按日期字符串对JSON对象进行排序:
import json
from datetime import datetime
# JSON字符串
json_str = '''
{
"data": [
{
"date": "2022-01-01",
"value": 10
},
{
"date": "2022-01-03",
"value": 5
},
{
"date": "2022-01-02",
"value": 8
}
]
}
'''
# 解析JSON字符串为JSON对象
json_obj = json.loads(json_str)
# 获取日期字符串对应的日期对象
def get_date_object(item):
date_str = item["date"]
return datetime.strptime(date_str, "%Y-%m-%d")
# 比较函数,根据日期对象进行比较
def compare_dates(item1, item2):
date1 = get_date_object(item1)
date2 = get_date_object(item2)
if date1 < date2:
return -1
elif date1 > date2:
return 1
else:
return 0
# 按日期字符串对JSON对象进行排序
sorted_data = sorted(json_obj["data"], key=compare_dates)
# 将日期对象转换回日期字符串
sorted_data = [
{"date": datetime.strftime(get_date_object(item), "%Y-%m-%d"), "value": item["value"]}
for item in sorted_data
]
# 构建排序后的JSON对象
sorted_json_obj = {"data": sorted_data}
# 将JSON对象转换为JSON字符串
sorted_json_str = json.dumps(sorted_json_obj, indent=2)
print(sorted_json_str)
运行以上代码,将按照日期字符串对JSON对象进行排序,并输出排序后的JSON字符串。
下一篇:按照日期最新的顺序排序谷歌书签