如何使用Python在JSON中添加键/值?

时间:2017-02-25 17:14:02

标签: python json

这可能听起来像一个普通的问题,但我没有找到一个很好的答案,我想要做的。

拿d.json:

{"SDA":{"Info":{"Description":"Anti Advertisment Bot, Blocks invites extensively.","Download Link":"http://sda.khionu.net/docs/, http://sda.khionu.net/docs/"}}, "Unit 02":{"Info":{"Description":"Server logging bot, c!serverlogs 'server name here if spaces' <# 1-9999>","Download Link":"https://discordapp.com/oauth2/authorize?client_id=222881716606468096&scope=bot&permissions=32768"}}}

我正在尝试将其添加到其中,以逗号分隔:

{'Ctest': {'Info': {'Description': 'Hi', 'Download Link': 'Sure'}}}

我尝试了多种方法,但没有办法。这是我目前的代码

a = d[toolname] = {str(toolname):{"Info":{"Description": tooldesc, "Download Link": toollink}}}
f.write(str(a))
f.close()
return jsonify(a), 201

我的目标是写

{'Ctest': {'Info': {'Description': 'Hi', 'Download Link': 'Sure'}}} 

这样的d.json

{"SDA":{"Info":{"Description":"Anti Advertisment Bot, Blocks invites extensively.","Download Link":"http://sda.khionu.net/docs/, http://sda.khionu.net/docs/"}}, "Unit 02":{"Info":{"Description":"Server logging bot, c!serverlogs 'server name here if spaces' <# 1-9999>","Download Link":"https://discordapp.com/oauth2/authorize?client_id=222881716606468096&scope=bot&permissions=32768"}}, {'Ctest': {'Info': {'Description': 'Hi', 'Download Link': 'Sure'}}}

3 个答案:

答案 0 :(得分:2)

使用json module,下面的代码将为您提供线索:

import json
data = json.load('path_to_json_file')
data['key'] = 'value'
json.dump('path_to_json_file', data)

答案 1 :(得分:0)

您可以使用:

jsonObject['Ctest'] = {'Info': {'Description': 'Hi', 'Download Link': 'Sure'}}

答案 2 :(得分:0)

感谢franklinsijo,我找到了答案,这是一个重复的惊喜。

我将代码重新格式化为:

        a = d[toolname] = {toolname:{"Info":{"Description": tooldesc, "Download Link": toollink}}}
        with open('data1.json', 'w') as f:
            f.write(json.dumps(d))
            f.close()
        return jsonify(a), 201

感谢您回答他们,我会将其标记为他的问题的副本。