Python 附加一个json并读回
在事件中,我将事件附加到一个事件txt文件中,重要的是,我将其附加到文本文件中,并且在累积了10个事件后不将其保存在内存中,我需要将其发布到事件服务器 我的示例事件是:Python 附加一个json并读回,python,json,Python,Json,在事件中,我将事件附加到一个事件txt文件中,重要的是,我将其附加到文本文件中,并且在累积了10个事件后不将其保存在内存中,我需要将其发布到事件服务器 我的示例事件是: data = { 'node': os.popen('hostname').read(), 'details': details, 'time': calendar.timegm(time.gmtime()) } 我能够追加,因此作为 {
data = {
'node': os.popen('hostname').read(),
'details': details,
'time': calendar.timegm(time.gmtime())
}
我能够追加,因此作为
{
"node": "macbook.local\n",
"details": "Fire",
"time": 1443734264
}{
"node": "macbook.local\n",
"details": "Fire",
"time": 1443734272
}
我无法读回它
尝试:
但也有例外
也许我需要把它当作一张清单,这是唯一的办法吗
-python新手首先,在附加数据时,确保在数据末尾添加逗号:
{
"node": "macbook.local\n",
"details": "Fire",
"time": 1443734264
},{
"node": "macbook.local\n",
"details": "Fire",
"time": 1443734272
},
其次,当您重新格式化它时,只使用列表括号[],而不是字典括号{},如下所示:
data = json.loads('[]'.format(json_source))
您的问题是没有将json格式化为正确的API。试试这个:
a='{"someid":{"node": "macbook.local","details": "Fire", "time": "1443734264"},"someid2":{"node": "macbook.local", "details": "Fire", "time": "1443734272"}}'
json.loads(a)
{'someid': {'details': 'Fire', 'node': 'macbook.local', 'time': '1443734264'}, 'someid2': {'details': 'Fire', 'node': 'macbook.local', 'time': '1443734272'}}
你能发布你看到的异常吗?我不能使用someid,因为脚本是随机调用的。我认为任何编写良好的json api都不应该给出这样的数据,它充满了样式错误。如果您不能更改它,那么我可能会使用正则表达式通过匹配括号来正确地设置它的样式。
a='{"someid":{"node": "macbook.local","details": "Fire", "time": "1443734264"},"someid2":{"node": "macbook.local", "details": "Fire", "time": "1443734272"}}'
json.loads(a)
{'someid': {'details': 'Fire', 'node': 'macbook.local', 'time': '1443734264'}, 'someid2': {'details': 'Fire', 'node': 'macbook.local', 'time': '1443734272'}}