Hantera nästlade JSON-strukturer
Navigera i och omforma komplexa nästlade JSON-objekt.
Hantera nästlade JSON-strukturer är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.
Introduktion
Åtkomst till nästlade nycklar
import json
data = {'user': {'address': {'city': 'NYC', 'zip': '10001'}}}
print(data['user']['address']['city'])Säker åtkomst till nästlade data
data = {'user': {'name': 'Alice'}}
city = data.get('user', {}).get('address', {}).get('city', 'unknown')
print(city)Iterera över arrayer med objekt
import json
data = json.loads('[{"name":"Alice"},{"name":"Bob"}]')
for user in data:
print(user['name'])Platta ut nästlad JSON
def flatten(d, prefix=''):
result = {}
for k, v in d.items():
key = f'{prefix}.{k}' if prefix else k
if isinstance(v, dict):
result.update(flatten(v, key))
else:
result[key] = v
return result
print(flatten({'a': {'b': {'c': 1}}, 'd': 2}))Filtrera arrayer
data = [{'name':'A','active':True},{'name':'B','active':False}]
active = [u for u in data if u.get('active')]
print(active)Omvandla nästlade data
data = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
names = [d['name'] for d in data]
print(names)Sche validering med jsonschema
# from jsonschema import validate
# schema = {'type':'object','required':['name']}
# validate({'name':'Alice'}, schema) # OK
# validate({}, schema) # raises ValidationError
print('schema validation demo')Djupuppdatera nästlade dict-objekt
def deep_update(base, override):
for k, v in override.items():
if isinstance(v, dict) and isinstance(base.get(k), dict):
deep_update(base[k], v)
else:
base[k] = v
return base
result = deep_update({'a': {'x': 1}}, {'a': {'y': 2}})
print(result)jq-liknande frågor med Python
def find_all(obj, key):
if isinstance(obj, dict):
if key in obj: yield obj[key]
for v in obj.values(): yield from find_all(v, key)
elif isinstance(obj, list):
for item in obj: yield from find_all(item, key)
data = {'a': {'name': 'x'}, 'b': [{'name': 'y'}]}
print(list(find_all(data, 'name')))Serialisering till NDJSON
import json
objects = [{'id': 1}, {'id': 2}, {'id': 3}]
ndjson = '\n'.join(json.dumps(o) for o in objects)
print(ndjson)Snabbkontroll
Sammanfattning
Fortsätt
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Hantera nästlade JSON-strukturer” gratis?
Ja – hela texten till ”Hantera nästlade JSON-strukturer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Hantera nästlade JSON-strukturer”?
Navigera i och omforma komplexa nästlade JSON-objekt. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Hantera nästlade JSON-strukturer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Python Academy-lektionen?
Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- JSON-kodning och avkodning
- Hantera nästlade JSON-strukturer
- Läsa CSV med csv.reader
- Skriva CSV med csv.DictWriter