我有一个我想解析的输出。它不完全是JSON,因此通过JSON解析不起作用。这是输出的片段
...
"details": {
"groups": [
"group1",
"group2",
"group3",
"group4"
]
},
"all_Details": [
"ALL"
],
...
我要做的是获取“groups”之后和[]之间的输出。所以我想解析出来:
[ “组1”, “组2”, “组3”, “组4”]
不是最好的正则表达式,所以想看看我将如何解析这个。谢谢。
更新
尝试通过JSON解析。这是JSON输出:
{
"details": {
"groups": [
"group1",
"group2",
"group3",
]
},
"team": "team1",
"createdat": "2017-08-11",
"owningteam": "team2",
}
以下是我在Python中的内容:
parsed_json = json.loads(output)
print(parsed_json['details']['groups])
我收到以下错误:
TypeError:字符串索引必须是整数
答案 0 :(得分:1)
假设您发布的是一个字符串,看起来它可能只是被评估为python对象,如下所示:
import ast
d = ast.literal_eval('{"details": { "groups": [ "group1", "group2", "group3", "group4" ] }, "all_Details": [ "ALL" ]}')
然后得到你想要的东西,你可以这样做:
d['details']['groups']
答案 1 :(得分:-2)
如果您希望groups
括号之间的输出值如下:
"group1","group2","group3","group4"
你可以这样做:
data = ", ".join( repr(e) for e in groups ),
这里的group是json数据的值。