如何在Python中将JSON字符串列表转换为JSON数组
解决方法:将JSON字符串列表转换为JSON数组
嘿,这个问题我熟!要把给定的JSON字符串列表转成JSON数组,咱们分几步来,首先得先处理一个小语法问题——你的第二个JSON字符串里"timestamp"字段后面多了个多余的逗号,这会导致解析失败,得先修正它。
步骤1:修正语法错误的JSON字符串
先把列表里有问题的JSON字符串改对:
myJSONStringList = [ '{"user": "testuser", "data": {"version": 1, "timestamp": "2018-04-03T09:23:43.388Z"}, "group": "33"}', '{"user": "otheruser", "data": {"version": 2, "timestamp": "2018-04-03T09:23:43.360Z"}, "group": "44"}' ]
步骤2:用Python解析并转换为JSON数组
我们可以用Python内置的json模块来完成这个转换,具体代码如下:
import json # 遍历列表,把每个JSON字符串解析成Python字典 parsed_dicts = [json.loads(json_str) for json_str in myJSONStringList] # 将字典列表转换成格式化的JSON数组字符串 json_array_str = json.dumps(parsed_dicts, indent=2) # 打印结果 print(json_array_str)
预期输出
运行上面的代码后,你会得到这样的JSON数组:
[ { "user": "testuser", "data": { "version": 1, "timestamp": "2018-04-03T09:23:43.388Z" }, "group": "33" }, { "user": "otheruser", "data": { "version": 2, "timestamp": "2018-04-03T09:23:43.360Z" }, "group": "44" } ]
简单解释
json.loads():把单个JSON字符串转换成Python的字典对象;- 列表推导式:一次性处理列表里的所有JSON字符串,得到一个字典列表;
json.dumps():把字典列表转换成标准的JSON数组字符串,indent=2是为了让输出更美观易读,如果不需要格式化,可以去掉这个参数,得到压缩后的JSON字符串。
内容的提问来源于stack exchange,提问作者Avión
相关产品推荐
相关产品推荐

