我有一个像这样的结构:
{
"permutations": [
{
"testname": "Test1",
"file_type": "file1",
"test_options": {
"rule_entities": [
"name1"
],
},
],
"userType": "user",
"rulename": "rule1",
"action": "alert",
},
{
"testname": "Test2",
"file_type": "file2",
"test_options": {
"rule_entities": [
"name2"
],
},
],
"userType": "user",
"rulename": "rule2",
"action": "alert",
}
}
我想在上面的结构testname和rulename通过附加两个变量与rule_entities值,使testname: "Test1_name1"和rulename: "rule1_name1",其中name1是从rule_entities数组更改。因此,上述结构应该是最终结构
{
"permutations": [
{
"testname": "Test1_name1",
"file_type": "file1",
"test_options": {
"rule_entities": [
"name1"
],
},
],
"userType": "user",
"rulename": "rule1_name1",
"action": "alert",
},
{
"testname": "Test2_name2",
"file_type": "file2",
"test_options": {
"rule_entities": [
"name2"
],
},
],
"userType": "user",
"rulename": "rule2_name2",
"action": "alert",
}
}
我尝试使用下面的代码片段
for index, d in enumerate['permutations']:
testname = d['permutations'][index]['testname']
testname_new = testname + '_' + rule_entitities
for index, d in enumerate['permutations']:
rulename = d['permutations'][index]['rulename']
rulename_new = rulename + '_' + rule_entities
我没有得到想要的输出。提前感谢!!
您从未更新过存储在字典中的值
for index, d in enumerate['permutations']:
testname = d['permutations'][index]['testname']
testname_new = testname + '_' + rule_entities
d['permutations'][index]['testname'] = testname_new
for index, d in enumerate['permutations']:
rulename = d['permutations'][index]['rulename']
rulename_new = rulename + '_' + rule_entities
d['permutations'][index]['rulename'] = rulename_new
我使用下面的代码使它工作:
for x in 'permutations':
rule_entity_slash = ['permutations'][0]['test_options']['rule_entities'][0]
rule_entity_underscore = rule_entity_slash.replace("/","_")
x['testname'] = x['testname'] + '_' + rule_entity_underscore
x['rulename'] = x['rulename'] + '_' + rule_entity_underscore
谢谢