Python:
Arbeider med JSON
Hvordan:
Pythons innebygde json
-bibliotek forenkler prosessen med koding (konvertering av Python-objekter til JSON) og dekoding (konvertering av JSON til Python-objekter). Slik kan du bruke det:
Koding av Python-objekter til JSON:
import json
data = {
"name": "John Doe",
"age": 30,
"isEmployee": True,
"addresses": [
{"city": "New York", "zipCode": "10001"},
{"city": "San Francisco", "zipCode": "94016"}
]
}
json_streng = json.dumps(data, indent=4)
print(json_streng)
Utdata:
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
Dekoding av JSON til Python-objekter:
json_streng = '''
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
'''
data = json.loads(json_streng)
print(data)
Utdata:
{
'name': 'John Doe',
'age': 30,
'isEmployee': True,
'addresses': [
{'city': 'New York', 'zipCode': '10001'},
{'city': 'San Francisco', 'zipCode': '94016'}
]
}
Arbeid med tredjepartsbiblioteker:
For kompleks JSON-håndtering, som skjemavalidering eller parsing av JSON-filer direkte fra URL-er, kan biblioteker som requests
for HTTP-forespørsler og jsonschema
for validering være nyttige.
Eksempel med requests
for å parse JSON fra en URL:
import requests
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
Dette kodeutdraget henter JSON-data fra en angitt URL og konverterer den direkte til et Python-objekt.
Bruk av jsonschema
for å validere JSON:
Først, installer biblioteket via pip:
pip install jsonschema
Deretter, bruk det på følgende måte:
from jsonschema import validate
import jsonschema
schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"},
"isEmployee": {"type": "boolean"},
},
"required": ["name", "age", "isEmployee"]
}
# Antatt at `data` er en ordbok oppnådd fra JSON-dekoding
prøv:
validate(instance=data, schema=schema)
print("Gyldige JSON-data.")
except jsonschema.exceptions.ValidationError as err:
print("Valideringsfeil:", err)
Dette eksemplet validerer din Python-ordbok (opprettet fra dekodede JSON-data) mot et forhåndsdefinert skjema, for å sikre at dataene overholder forventede formater og typer.