Weet u hoe u uw gegevens van online API's kunt transporteren of verschillende soorten gegevens naar uw lokale machines kunt opslaan? Je hebt je op de een of andere manier ondergedompeld in JSON wat staat voor Notatie van Java Script Object. Het is een bekend en populair gegevensformaat dat wordt gebruikt voor het weergeven van semi-gestructureerde gegevens. Laten we in detail meer te weten komen over Python JSON.
In dit artikel komen de volgende aspecten aan de orde:
Inleiding tot JSON in Python:
JSON staat voor J ava S cript OF bject N otatieis een manier om informatie overzichtelijk en gemakkelijk op te slaan. De gegevens moeten in de vorm van een tekst zijn wanneer ze worden uitgewisseld tussen een browser en een server.
sorteren van een array c ++
Voor het geval u zich afvraagt of dit het geval is ? dan is het antwoord Nee. Het is een script dat uit tekst bestaat en wordt gebruikt voor het opslaan en overdragen van gegevens in een door mensen en machinaal leesbaar formaat. Het is een klein, lichtgewicht gegevensformaat dat is geïnspireerd op JavaScript en over het algemeen wordt gebruikt in tekst- of tekenreeksen. Een pakje JSON is bijna identiek aan een python-woordenboek. Nu moet u zich afvragen
Hoe lees je een JSON-bestand in Python?
Het antwoord op uw vraag is dat u de JSON-module moet importeren die over het algemeen de Python-gegevenstypen converteert naar het JSON-stringbestand. Het bestaat uit JSON-functies die rechtstreeks vanuit JSON-bestanden lezen en schrijven. heeft een ingebouwd JSON-pakket en maakt deel uit van de standaardbibliotheek, dus u hoeft het niet te installeren.
Voorbeeld:
importeer json
Nu u bekend bent met JSON in Python, gaan we dieper ingaan op parsing.
Parseren:
De JSON-bibliotheek kan JSON parseren van snaren of bestanden. Het kan ook JSON parseren in het of lijst en doe het omgekeerde. Het parseren gebeurt doorgaans in twee fasen:
- Conversie van JSON naar Python
- Conversie van Python naar JSON
Laten we beide fasen beter begrijpen.
Conversie van JSON naar Python:
U kunt de JSON-tekenreeks naar Python converteren metjson.loads ().
Ik zal u de praktische implementatie laten zien:
Voorbeeld:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (data)
Uitgang:
Zoals u aan de bovenstaande uitvoer kunt zien, heeft het een . Laten we het datatype afdrukken voor een beter begrip.
Voorbeeld:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) #print het datatype
Uitgang:
Nu u bekend bent met de ene conversie, gaan we in de tweede fase naar het andere conversietype kijken.
Conversie van Python naar JSON:
Een Python-object kan worden geconverteerd naar een JSON-string met behulp vanjson.dumps ().
Laten we eens kijken naar een voorbeeld hieronder:
Voorbeeld:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) print (new_string)
Uitgang:
De uitvoer is van het type JSON-tekenreeks. Ik heb het datatype al gedemonstreerd in JSON naar Python-conversie, dezelfde procedure wordt gevolgd voor het afdrukken van het datatype.
Laten we verder gaan en kijken hoe Panda's JSON parseren.
Panda's die JSON parseren:
JSON-tekenreeks kan worden geparseerd in een panda's Dataframe uit de volgende stappen:
- De volgende algemene structuur kan worden gebruikt om de JSON-reeks in het DataFrame te laden.
importeer panda's als pd pd.read_json (r'Path waar je het JSON-bestand hebt opgeslagenFile Name.json ')
- Bereid de JSON-reeks voor.
- Maak een JSON-bestand dat we gebruiken is nobel_prize.json.
- Laad het JSON-bestand in Pandas DataFrame.
De hieronder geïmplementeerde code laadt mijn JSON-bestand in het DataFrame.
importeer panda's als pd importeer json met open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') als f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Uitgang:
Laten we verder kijken hoe u JSON in Python kunt serialiseren.
Serialisatie van JSON [Encode]:
Het serialiseren van JSON betekent simpelweg dat u JSON codeert. Het converteert de gegeven Python-datastructuur (ex: dict) naar het geldige JSON-object. Om de gegevensstroom in een bestand af te handelen, gebruikt de JSON-bibliotheek in Python een dump () en stortplaatsen () methode, die de conversie uitvoert en het gemakkelijk maakt om gegevens naar bestanden te schrijven.
Hieronder is een tabel weergegeven die de Python datatypes worden geconverteerd naar hun respectievelijke JSON-type.
Python | JSON |
dict (woordenboek) | voorwerp |
list, matrix | tupel |
draad | draad |
int, lang, zweven | nummers |
Klopt | waar |
Vals | false |
Geen hoe je een klas singleton maakt | nul |
Punten om te onthouden:
dump () - Converteert de gegevens naar een JSON-bestand
stortplaatsen () - Converteert de gegevens naar een JSON-string
laden() - Converteert het JSON-bestand naar een Python-object
ladingen () - Converteert een object van een JSON-tekenreeks naar een Python-object
Mooie afdrukken:
Pretty Printing zorgt voor de uitlijning van de code en maakt deze in een voor mensen leesbaar formaat. Laten we eens kijken naar het onderstaande voorbeeld waarin ik twee parameters ‘sort_keys’ heb doorgegeven die altijd een booleaanse True-waarde en ‘indent’-spaties retourneren.
Voorbeeld:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)
Uitgang:
Laten we doorgaan met de Python JSON-zelfstudie, laten we de deserialisatie van JSON begrijpen.
Deserialisatie van JSON [decodering]:
Deserialisatie van JSON is precies het tegenovergestelde van serialisatie, d.w.z. het betekent dat u JSON decodeert. Het converteert de gegeven JSON-string naar een Python voorwerp door gebruik te maken van laden() en ladingen () methode die de conversie uitvoert.
Hieronder is een tabel weergegeven die de conversie van het JSON-gegevenstype naar het respectieve Python-type illustreert.
JSON | Python |
voorwerp | dict (woordenboek) |
tupel | list, matrix |
draad | draad |
nummers | int, lang, zweven |
waar | Klopt |
false | Vals |
nul | Geen |
Vooruitgaan in de 'Python JSON' -handleiding. Ik zal je een real-time voorbeeld laten zien van zowel serialisering als deserialisatie vanuit coderingsperspectief.
Coderingsdemonstratie:
In deze coderingsdemonstratie maak ik gebruik van een JSON-dataset genaamd 'Nobelprijs' die wordt gegeven hier . U leert hoe u serialisering en deserialisatie hiervan kunt uitvoeren via een JSON-bestand.
Voorbeeld (serialisering van JSON-gegevensset):
importeer json met open ('nobel_prize.json.html') als f: data = json.load (f) met open ('new_nobel_prize.json.html') als f: json.dump (data, f, indent = 2)
Uitgang:
succesvol gecompileerd en een nieuw bestand 'new_nobel_prize.json' wordt aangemaakt waar de gegevens worden gedumpt uit een reeds bestaand bestand 'nobel_prize.json'.
Voorbeeld (deserialisatie van JSON-gegevensset):
importeer json met open ('nobel_prize.json.html') als f: data = json.load (f) voor nobel_prize in data ['prijzen']: print (nobel_prize ['jaar'], nobel_prijs ['categorie'])
Uitgang:
Het codefragment toont de wijzigingen van een JSON-bestand naar het respectieve Python-object.
Dit brengt ons bij het einde van ons artikel 'Python JSON'. Ik hoop dat je duidelijk bent met alle concepten met betrekking tot JSON, parsing, serialisering en deserialisatie.
Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.
Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit Python JSON-artikel en we nemen zo snel mogelijk contact met u op. Om diepgaande kennis van Python en zijn verschillende toepassingen te krijgen, kunt u met onze live online training met 24/7 ondersteuning en levenslange toegang.