Wat is Python JSON en hoe te implementeren?



Dit artikel over Python JSON zal je helpen bij het leren ontleden, serialiseren en deserialiseren van JSON met behulp van voorbeeldprogramma's.

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.

JSON-logo - Python JSON-Edureka



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:

  1. Conversie van JSON naar Python
  2. 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.