Python 解析Json,该Json包含来自s3的多个用字符串包装的Json对象

Python 解析Json,该Json包含来自s3的多个用字符串包装的Json对象,python,json,amazon-s3,boto3,Python,Json,Amazon S3,Boto3,我在S3中有一个json文件,其中包含多个json对象,其结构如下所示 "{"category" : "random", "a": 1, "b": 2, "c": 3}" "{"category" : "automobile", "brand": "bmw", "car"

我在S3中有一个json文件,其中包含多个json对象,其结构如下所示

"{"category" : "random", "a": 1, "b": 2, "c": 3}"
"{"category" : "automobile", "brand": "bmw", "car": "x3", "price": "100000"}"
"{"category" : "random", "a": 7, "b": 8, "c": 9}"
如您所见,此json文件包含多个包装为字符串的json对象

我想从s3读取这个json文件并对其进行解析。所以我就这样做了

import boto3
import json

s3 = boto3.resource('s3')

content_object = s3.Object(bucket,key)
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = json.loads(file_content)
print(json_content['Details'])
但是我犯了以下错误
json.decoder.jsondeCoderror:额外数据

我认为这是因为这个json文件包含多个json对象,每个对象都包装在一个字符串中

我想如果我能设法在每个json对象的末尾和开头获得每个引号标记,我就能够解析它

但我不确定这是否是唯一(或最好)的方法(如果我能以有效的方式做到这一点)

还有什么方法可以解析这个json吗


注意:每个Json不需要具有所有相同的属性,尽管我在上面放的这个Json文件只有3个对象,但我想将它们扩展到更大的范围。

您必须逐行执行。这将生成一个对象列表

import boto3
import json

s3 = boto3.resource('s3')

content_object = s3.Object(bucket,key)
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = [json.loads(line) for line in file_content.splitlines()]
print(json_content)

你得一行一行地做。这将生成一个对象列表

import boto3
import json

s3 = boto3.resource('s3')

content_object = s3.Object(bucket,key)
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = [json.loads(line) for line in file_content.splitlines()]
print(json_content)