我有一个json:
abc = """
{"entities":[
{"entity":"sys-date",
"location": [38,56],
"value":"2007-01-01"}
]}
"""
我需要将实体名称 sys-date 替换为名称 Year ,并且值应更新为2007(从日期中提取年份部分)。
应删除现有名称 sys-date 和值 2007-01-01 。
我如何在python 2x中进行此操作。请帮忙。
答案 0 :(得分:2)
您可以使用json模块将json字符串加载或转储到python中的简单dict对象,并根据需要进行编辑。
为了编辑日期时间,我使用datetime.strptime
将日期字符串转换为datetime对象。
您可以详细了解strptime
here。
import json
from datetime import datetime
json_string = '''
{entities":[
{"entity":"A","location":[12,19],"value":"B","confidence":1},
{"entity":"C","location":[23,28],"value":"D","confidence":1},
{"entity":"E","location":[29,34],"value":"F","confidence":1},
{"entity":"sys-date","location":[38,56],"value":"2007-01-01"}
'''
json_dict = json.loads(json_string)
for item in json_dict['entities']:
if item['entity'] == 'sys-date':
item['entity'] = 'Year'
date = datetime.strptime(item['value'], '%Y-%m-%d')
item['value'] = date.year
json_string = json.dumps(json_dict)