将字符串响应转换为json对象数组[已关闭]

iswrvxsc  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(144)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

7天前关闭。
Improve this question
我收到一个响应,我需要保存为CSV文件。所以我想把响应字符串转换为json对象的数组,然后访问所有对象,并把每个对象转换为json,然后推到另一个数组,用csv.writerow()写入csv。可能这是太多的步骤,可以减少。但我目前正在寻找一种方法来转换响应到数组。以下是响应示例沿着试用代码:

import json

null = -1

response_object = """[{
"a" : "1",
"b" : "2",
"c" : "null"
}, {
"d" : "3",
"e" : "4",
"f" : "null"
}] 
"""

jess_dict = json.dumps(response_object)

jeson_converted = json.loads(jess_dict)

print(jeson_converted)

由于响应对象不是一个有效的json,我不确定我应该做什么来转换它。请建议。

hgc7kmma

hgc7kmma1#

json.dumps用于从一个json中获取字符串转储。这里你已经有了一个字符串,所以你不需要转储它。
如果你只是使用loads,它会给予你一个dict列表:

...
jeson_converted = json.loads(response_object)
print(jeson_converted)

输出量:

[{'a': '1', 'b': '2', 'c': 'null'}, {'d': '3', 'e': '4', 'f': 'null'}]
iecba09b

iecba09b2#

这个方法对我来说很有效,我使用ast包中的literal_eval方法来解析list的字符串表示,检查它在您的情况下是否有用:

import ast
parsed_response_object = ast.literal_eval(response_object)
for json_obj in parsed_response_object:
    print(json_obj)

输出量:

{'a': '1', 'b': '2', 'c': 'null'}
{'d': '3', 'e': '4', 'f': 'null'}

相关问题