Met jsonpickle in python om meerdere onderliggende kenmerken te ontleden

Ik analyseer JSON die er zo uitziet:

{
    "attr1": true,
    "attr2": "foo",
    "attr3": 7,
    "attr4": [
        {
        "someattr1": "foo",
        "someattr2": "bar"
        },
        {
        "someattr1": "foo",
        "someattr2": "bar"
        },
        ],
    "attr6": false
}

Hoe kan ik de attr1 van de tweede attr4 met jsonpickle gebruiken? Ik raakte me kwijt. Bij voorbaat dank.

0

1 antwoord

Hoe zou ik gaan om de 2 attr4's someattr1 te krijgen met jsonpickle?

Houd er rekening mee dat uw json-object een extra komma heeft vóór de sluitende vierkante haak, waardoor de parser faalt. Als je dat eenmaal hebt verwijderd, kun je:

import jsonpickle as jp

json = '''
{
    "attr1": true,
    "attr2": "fooA",
    "attr3": 7,
    "attr4": [
        {
        "someattr1": "fooB",
        "someattr2": "barC"
        },
        {
        "someattr1": "fooD",
        "someattr2": "barE"
        }
        ],
    "attr6": false
} '''

print jp.decode(json)['attr4'][1]['someattr1']  #index == 1 → 2nd in the series!!

HTH!

0
toegevoegd
Je bedoelt na de voorlaatste krullende haak :)
toegevoegd de auteur abcde123483, de bron
Goed dan kan hij elk van de manieren kiezen om ernaar te kijken en toch gelijk hebben.
toegevoegd de auteur abcde123483, de bron
@ulvund - zeggen we niet hetzelfde? : - /
toegevoegd de auteur mac, de bron
Dat was duidelijk JSON die ik niet valideerde, maar bedankt!
toegevoegd de auteur Joshua Steiner, de bron