更新 python 中的 Json 值
Update Json value in python
我正在尝试为我的 google 电子表格 api 指定一个名称。这是在 'title' 键值中完成的。我尝试了下面的方法,但它为现有的 json 添加了一个新密钥。有没有办法到达 "title": ""
并使用 new_date
项更新该值?
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
res = {
"requests": [
{
"addSheet": {
"properties": {
"title": ""
}
}
}
]
}
res['title'] = new_date
print (res)
这是输出:
{'requests': [{'addSheet': {'properties': {'title': ''}}}], 'title': '2016-12-29'}
这就是我想要的:
{'requests': [{'addSheet': {'properties': {'title': '2016-12-29'}}}]}
您在尝试更新数组中的值时错误地索引了您的 JSON 对象并在对象的根目录中添加了一个名为 'title' 的新键。在您的情况下,您应该访问 res['requests'][0]['addSheet']['properties']['title'] = new_date
根据您提到的结构,您需要修改的 title
密钥比您提供的密钥嵌套更多。
您需要进行以下更改:
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
res = {
"requests": [
{
"addSheet": {
"properties": {
"title": ""
}
}
}
]
}
res['requests'][0]['addSheet']['properties']['title'] = new_date
print (res)
其中:
'requests'
值是 list
0
是列表中的第一项(也是唯一的一项)
'addSheet'
是字典中的键,即 0
索引 中列表中项目的值
'properties'
是上面字典中的key
'title'
是上面字典中的key,需要的根据自己的需要
我现在意识到我可以直接在 json 中传递我的变量。
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
req = {
"requests": [
{
"addSheet": {
"properties": {
"title": new_date
}
}
我正在尝试为我的 google 电子表格 api 指定一个名称。这是在 'title' 键值中完成的。我尝试了下面的方法,但它为现有的 json 添加了一个新密钥。有没有办法到达 "title": ""
并使用 new_date
项更新该值?
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
res = {
"requests": [
{
"addSheet": {
"properties": {
"title": ""
}
}
}
]
}
res['title'] = new_date
print (res)
这是输出:
{'requests': [{'addSheet': {'properties': {'title': ''}}}], 'title': '2016-12-29'}
这就是我想要的:
{'requests': [{'addSheet': {'properties': {'title': '2016-12-29'}}}]}
您在尝试更新数组中的值时错误地索引了您的 JSON 对象并在对象的根目录中添加了一个名为 'title' 的新键。在您的情况下,您应该访问 res['requests'][0]['addSheet']['properties']['title'] = new_date
根据您提到的结构,您需要修改的 title
密钥比您提供的密钥嵌套更多。
您需要进行以下更改:
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
res = {
"requests": [
{
"addSheet": {
"properties": {
"title": ""
}
}
}
]
}
res['requests'][0]['addSheet']['properties']['title'] = new_date
print (res)
其中:
'requests'
值是list
0
是列表中的第一项(也是唯一的一项)'addSheet'
是字典中的键,即0
索引 中列表中项目的值
'properties'
是上面字典中的key'title'
是上面字典中的key,需要的根据自己的需要
我现在意识到我可以直接在 json 中传递我的变量。
prev_date = datetime.date.today()-datetime.timedelta(1)
new_date = str(prev_date.isoformat())
req = {
"requests": [
{
"addSheet": {
"properties": {
"title": new_date
}
}