Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python boto3更新s3中的json?_Python_Json_Python 3.x_Amazon S3_Boto3 - Fatal编程技术网

如何使用python boto3更新s3中的json?

如何使用python boto3更新s3中的json?,python,json,python-3.x,amazon-s3,boto3,Python,Json,Python 3.x,Amazon S3,Boto3,我正在尝试更新驻留在s3存储桶中的json文件。我采取了完全不同的方法,但似乎没有任何效果 下面是代码 import boto3 import json #Loading Json from s3 s3= boto3.resource('s3', aws_access_key_id='id',aws_secret_access_key='key') obj=s3.Object('s3python','test.json') body=obj.get()['Body'].read() jsonC

我正在尝试更新驻留在s3存储桶中的json文件。我采取了完全不同的方法,但似乎没有任何效果

下面是代码

import boto3
import json

#Loading Json from s3
s3= boto3.resource('s3', aws_access_key_id='id',aws_secret_access_key='key')
obj=s3.Object('s3python','test.json')
body=obj.get()['Body'].read()
jsonContent=json.loads(body)
print(jsonContent)
我得到以下错误

Error
  raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
如果下面的json读取成功,则Udpate新值一次

updateJson={}
for k,v in jsonContent.items():
    updateJson[k]=v

updateJson['key']='newvalue'


json_dump_s3 = lambda obj, f: s3.Object(key=f).put(Body=json.dumps(obj))

key='test.json'
json_dump_s3(updateJson,key)
#Writing Json to s3

有人能帮上忙吗?

test.json的格式是什么?嗨@hjpotter,这里是json文件内容{“PediID”:“yellow”,“DediID”:“green”,“ediIDTime”:“12”,“PleaID”:“green”,“DleapamersID”:“yellow”,“leaIDTime”:“23”,“PleaID”:“yellow”,“DleaID”:“green”,“leaID”:“45”}