从python写入json文件

时间:2013-01-30 01:55:54

标签: python json editing

如何使用python代码编辑/更改json文件中的特定字段:

{
   "EZMessage":{
      "action":"account.cash",
      "data":{
         "authToken":"123456",
         "account":"#ACCOUNTID#",
         "portfolio":"true",
         "historical":"true"
      }
   }
}

在这个json代码中,我想用789123替换123456

只有当我知道那里写的是什么时,

string replace才有效。在我的代码中,我只知道要写什么,以及标识符“authToken”。有没有办法通过识别它是“authToken”的值来覆盖123456?

感谢,

RS

2 个答案:

答案 0 :(得分:3)

使用json模块将字符串转换为一组嵌套的dict对象,进行更改,然后将字典转储回json字符串。

import json
jstr = '''{
   "EZMessage":{
      "action":"account.cash",
      "data":{
         "authToken":"123456",
         "account":"#ACCOUNTID#",
         "portfolio":"true",
         "historical":"true"
      }
   }
}'''

j = json.loads(jstr)
j['EZMessage']['data']['authToken'] = 654321
jstr = json.dumps(j)

有关如何读取/写入文件,请参阅the fine tutorial

答案 1 :(得分:2)

将JSON对象转换为Python对象,然后像任何其他Python对象一样更改值。