python入参传递[][]

python如果想要用下面这种方式取值的话,

img

外部入参要怎么传递呢,我直接嵌套一个{},试了下貌似不行

img

该回答引用GPT:如果要使用这种方式取值,可以将外部入参以字典的形式传递进来,然后在代码中使用字典的方式取值。例如:

params = {
    'monitor_params_I_host': 'example.com',
    'monitor_params_I_port': '8080'
}

host = params['monitor_params_I_host']
port = params['monitor_params_I_port']

在上面的例子中,我们将外部入参以字典的形式传递进来,并使用字典的方式取出了 monitor_params_I_hostmonitor_params_I_port 的值。如果你想使用 component['monitor_params_I["host"]'] 这种方式取值,可以将字典的 key 命名为 monitor_params_I["host"],例如:

params = {
    'monitor_params_I["host"]': 'example.com',
    'monitor_params_I["port"]': '8080'
}

host = params['monitor_params_I["host"]']
port = params['monitor_params_I["port"]']

这样就可以使用 component['monitor_params_I["host"]'] 这种方式取值了。

值是一个字符串,转换成字典后才可以取

你这字符串里太多转义符了
先打印component看解析出来到底是个什么,再反推应该怎么改
不要靠猜
-=-=-=
目测component本身根本是个json字符串
你还没有反序列化啊

img

import json
person = {
    'name': 'Tom',
    'age' : 19,
    "child" : {
        "name" : "child Tom"
    }
}
print(person["child"]["name"])
print(json.dumps(person))

以上代码定义了一个person字典,包含了name、age和child三个键值对,其中child的值是一个嵌套的字典。接着,代码分别输出了person字典中child字典中的name键值和将person字典转换为JSON字符串后的结果。使用json.dumps()函数可以将Python中的字典类型转换为JSON格式的字符串