2 回答

TA贡献1875条经验 获得超5个赞
您要的不是 JSON。根据定义,标准规定对象之间必须有逗号。您有两种选择可以继续:
更新您的解析器以符合标准(强烈推荐)。
出于显示目的或您可能有的其他内部处理目的,如果您真的想要您指定的结构:捕获 JSON 对象并将其转换为其他内容,但请不要将其称为 JSON,因为它不是。

TA贡献1799条经验 获得超6个赞
您在问题中混合了一些概念!
1.你有什么不是dict,而是list的dicts。
2. 你的输入元素list和预期的输出都没有 JSON
现在寻求解决方案,如果您想简单地print将对象comma分开而不将它们分开,那么您只需要print列出所有元素,您可以做什么:
sample = [{"a": "a" , "b": "b" } , {"a": "a" , "b": "b" }]
print(" ".join([str(element) for element in sample]))
现在,如果您真正想要的是将其作为 JSON 对象进行操作,您有两种选择,使用jsonlib:
将您的每个元素添加sample为 Json 并单独操作
它们已经格式化为 Json,因此您可以使用jsonlib操作它们以将( dumps)漂亮地打印为字符串或任何其他操作:
import json
for element in sample:
print(json.dumps(element, indent = 4))
使您的示例列表成为 Json
您可以将所有元素添加到单个key,让我们说添加到一个key被调用的elements,会是什么:
sample_json = {"elements": []}
for data in sample:
sample_json["elements"].append(data)
# Output from sample_json
# {'elements': [{'a': 'a', 'b': 'b'}, {'a': 'a', 'b': 'b'}]}
或者您可以将每个元素添加到不同的key. 例如,我将创建一个计数器,并且计数器的每个数字将key为该特定定义一个不同的数字element:
sample_json = {}
counter = 0
for data in sample:
sample_json[counter] = data
counter += 1
# Output from sample_json
# {0: {'a': 'a', 'b': 'b'}, 1: {'a': 'a', 'b': 'b'}}
keys对于第二种情况,您也可以使用文本。
添加回答
举报