在python中更新Json值

Fra*_*nky 1 python json dictionary google-spreadsheet-api

我正在尝试为我的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)
Run Code Online (Sandbox Code Playgroud)

这是输出:

{'requests': [{'addSheet': {'properties': {'title': ''}}}], 'title': '2016-12-29'}
Run Code Online (Sandbox Code Playgroud)

这就是我希望它:

{'requests': [{'addSheet': {'properties': {'title': '2016-12-29'}}}]}
Run Code Online (Sandbox Code Playgroud)

Avi*_*mka 8

从您提到的结构中,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)
Run Code Online (Sandbox Code Playgroud)

哪里:

  • 'requests' 价值是一个 list
  • 0 是列表中的第一项(也是唯一的项目)
  • 'addSheet'是字典中的键,它是0索引列表中项的值
  • 'properties' 是上面词典中的关键
  • 'title' 是上述dictonary的关键,也是你要求的那个