如何使用python2从rest输出访问字段值?

问题描述 投票:0回答:2

这是我的结构:

[
            {
                "name": "ga0",
                "fullName": "gac0",
                "key": "office"
                "id" : "Apps/tex3435",
                "value" : "test2"
            },
            {
                "name": "gasec1",
                "fullName": "gasec1",
                "key": "PRINCIPAL"
                "id" : "Apps/tex3433",
                "value" : "test"
            }
]

我想抓住关键PRINCIPAL的id。

python python-2.7 jython
2个回答
2
投票

该解决方案返回r中具有l的条目列表key = PRINCIPAL

l = [
            {
                "name": "ga0",
                "fullName": "gac0",
                "key": "office",
                "id" : "Apps/tex3435",
                "value" : "test2"
            },
            {
                "name": "gasec1",
                "fullName": "gasec1",
                "key": "PRINCIPAL",
                "id" : "Apps/tex3433",
                "value" : "test"
            }
]

r = filter(lambda k: k['key']=="PRINCIPAL", l)
print(r[0]['id'])

2
投票

获取值>“PRINCIPAL”的键的简单循环:

d = [
{
"name": "ga0",
"fullName": "gac0",
"key": "office",
"id" : "Apps/tex3435",
"value" : "test2"
},   
{
"name": "gasec1",
"fullName": "gasec1",
"key": "PRINCIPAL",
"id" : "Apps/tex3433",
"value" : "test"
}]

for x in d:

    # x is a dictionary, so we now iterate over its key - value pair
    # Use x.iteritems() for Python 2

    for key, values in x.items():
        if values == 'PRINCIPAL':
            print(key)

# Using list comprehension
print([i for x in d for i, j in zip(x.keys(), x.values()) if j == 'PRINCIPAL'])
© www.soinside.com 2019 - 2024. All rights reserved.