JSON పైథాన్ పార్సింగ్: ఒక సాధారణ గైడ్

JSON పైథాన్ పార్సింగ్: ఒక సాధారణ గైడ్

JSON ('జావాస్క్రిప్ట్ ఆబ్జెక్ట్ నొటేషన్' అని అర్ధం) అనేది టెక్స్ట్ ఆధారిత ఫార్మాట్, ఇది విభిన్న అప్లికేషన్‌ల మధ్య డేటా మార్పిడిని సులభతరం చేస్తుంది. ఉదాహరణకు, ఒక అప్లికేషన్ C ++ లో వ్రాయబడింది విండోస్‌లో నడుస్తున్నది పైథాన్‌లో వ్రాసిన మరియు లైనక్స్‌లో నడుస్తున్న అప్లికేషన్‌తో JSON డేటాను సులభంగా మార్పిడి చేసుకోవచ్చు. దీని సరళత మరియు వశ్యత ఇటీవలి సంవత్సరాలలో విస్తృత వినియోగానికి దారితీసింది, ప్రత్యేకించి మునుపటి XML- ఆధారిత ఫార్మాట్‌లకు ప్రాధాన్యతనిస్తుంది.





దాదాపు ఏ భాష మరియు పర్యావరణం నుండి JSON ను అన్వయించడం మరియు ఉత్పత్తి చేయడం కోసం లైబ్రరీలు మరియు టూల్‌కిట్‌లు అందుబాటులో ఉన్నాయి. ఈ వ్యాసం పైథాన్‌ని ఉపయోగించి JSON ప్రాసెసింగ్ నుండి ఉత్పన్నమయ్యే పద్ధతులు మరియు సమస్యలపై దృష్టి పెడుతుంది.





కొన్ని JSON నమూనాలు

మీరు ఎదుర్కొనే అత్యంత సాధారణ JSON ఎంటిటీ ఒక వస్తువు : దిగువ చూపిన ఆకృతిలో కీ-విలువ మ్యాపింగ్‌ల సమితి.





ఉచిత ఈబుక్స్ డౌన్‌లోడ్ చేసుకోవడానికి ఉత్తమ ప్రదేశం

వ్యక్తి. json:

{
'firstName': 'Alice',
'lastName': 'Hall',
'age': 35
}

ఇక్కడ మీరు వస్తువుల శ్రేణిని ఎలా సూచించవచ్చు. ఈ ప్రాతినిధ్యంలో, శ్రేణిలోని ప్రతి అంశం ఒక వస్తువు. కిందివి బేస్ బాల్ ఆటగాళ్ల జీతాల నమూనా.



జీతాలు. json:

[ {
'year' : 1985,
'teamId' : 'ATL',
'leagueId' : 'NL',
'playerId' : 'barkele01',
'salary' : 870000
}, {
'year' : 1985,
'teamId' : 'ATL',
'leagueId' : 'NL',
'playerId' : 'bedrost01',
'salary' : 550000
} ]

వాస్తవానికి, మీరు స్కేలర్ల శ్రేణిని కూడా సూచించవచ్చు. ఇది ఇలా కనిపిస్తుంది:





[
'hello',
'world',
35
]

పైథాన్‌లో JSON ని పార్సింగ్ చేస్తోంది

పైథాన్ అందిస్తుంది json JSON అనే పార్స్ రెండింటికీ ఉపయోగపడే మాడ్యూల్, అలాగే పైథాన్ వస్తువులు మరియు జాబితాల నుండి JSON ని రూపొందించవచ్చు.

కింది కోడ్ స్నిప్పెట్ JSON ఫైల్‌ను ఎలా తెరవాలి మరియు డేటాను వేరియబుల్‌లో ఎలా లోడ్ చేయాలో చూపుతుంది.





import json
with open('sample.json', 'r') as fp:
obj = json.load(fp)

మీరు JSON డేటాను కలిగి ఉన్న స్ట్రింగ్‌ను కలిగి ఉన్నప్పుడు, మీరు దానిని పైథాన్ ఆబ్జెక్ట్‌గా (లేదా జాబితా) కింది వాటితో మార్చవచ్చు:

హ్యాక్ చేయబడిన ఫేస్‌బుక్ ఖాతా నుండి సందేశాన్ని తెరిచారు
obj = json.loads('''{
'firstName': 'Alice',
'lastName': 'Hall',
'age': 35
}''')

JSON URL ని అన్వయించడానికి, మీరు ఉపయోగించి ఒక URL వస్తువును సృష్టించవచ్చు urllib2 మరియు ఉపయోగించండి json.load () ముందు లాగానే.

import urllib2, json
url = urllib2.urlopen('http://site.com/sample.json')
obj = json.load(url)

నిర్వహణ లోపాలు

JSON లో లోపాలు ఉన్నప్పుడు, మీరు ఒక పొందుతారు విలువ లోపం . మీరు దానిని నిర్వహించవచ్చు మరియు అవసరమైతే దిద్దుబాటు చర్య తీసుకోవచ్చు.

try:
obj = json.loads('''{
'firstName': 'Alice',
'lastName: 'Hall',
'age': 35
}''')
except ValueError:
print('error loading JSON')

కమాండ్ లైన్ నుండి JSON ని పార్సింగ్ చేస్తోంది

కొన్నిసార్లు, పైథాన్ కమాండ్ లైన్ ఉపయోగించి JSON ని అన్వయించడం ఉపయోగకరంగా ఉంటుంది, బహుశా లోపాలను తనిఖీ చేయడం లేదా చక్కగా ఇండెంట్ చేసిన అవుట్‌పుట్ పొందడం.

cat glossary.json
# prints
{'glossary': {'GlossDiv': {'GlossList': {'GlossEntry': {'GlossDef': {'GlossSeeAlso': ['GML', 'XML'], 'para': 'A meta-markup language, used to create markup languages such as DocBook.'}, 'GlossSee': 'markup', 'Acronym': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Abbrev': 'ISO 8879:1986', 'SortAs': 'SGML', 'ID': 'SGML'}}, 'title': 'S'}, 'title': 'example glossary'}}

పై JSON ఫైల్ నుండి ఇండెంట్ అవుట్‌పుట్ పొందడానికి, మీరు ఈ క్రింది వాటిని చేయవచ్చు:

python -mjson.tool glossary.json
# prints
{
'glossary': {
'GlossDiv': {
'GlossList': {
'GlossEntry': {
'Abbrev': 'ISO 8879:1986',
'Acronym': 'SGML',
'GlossDef': {
'GlossSeeAlso': [
'GML',
'XML'
],
'para': 'A meta-markup language, used to create markup languages such as DocBook.'
},
'GlossSee': 'markup',
'GlossTerm': 'Standard Generalized Markup Language',
'ID': 'SGML',
'SortAs': 'SGML'
}
},
'title': 'S'
},
'title': 'example glossary'
}
}

మరియు మీరు JSON ఆబ్జెక్ట్‌ను పైథాన్‌లోకి ఎలా లోడ్ చేయవచ్చు మరియు మీకు అవసరమైన వాటిని మాత్రమే సేకరించవచ్చు.

python -c 'import json; fp = open('glossary.json', 'r'); obj = json.load(fp); fp.close(); print(obj['glossary']['title']')
# prints
example glossary

డేటాను యాక్సెస్ చేస్తోంది

మీరు JSON డేటాను ఒక పైథాన్ వేరియబుల్‌లోకి లోడ్ చేసిన తర్వాత, మీరు ఏదైనా పైథాన్ డిక్ట్ (లేదా జాబితా ప్రకారం జాబితా) వలె డేటాను యాక్సెస్ చేయవచ్చు. ఉదాహరణకు, పై JSON డేటాను క్రింది విధంగా యాక్సెస్ చేయవచ్చు:

firstName = obj['firstName']
lastName = obj['Hall']
age = obj['age']

డేటా రకాలు

డేటా రకాలు డేటా నుండి స్వయంచాలకంగా నిర్ణయించబడతాయి. అది గమనించండి వయస్సు పూర్ణాంకంగా అన్వయించబడింది.

print(type(obj['firstName']), type(obj['lastName']), type(obj['age']))
# prints

కింది మార్పిడి పట్టిక JSON నుండి పైథాన్‌గా మార్చడానికి ఉపయోగించబడుతుంది.

కస్టమ్ క్లాస్ ఉపయోగించి JSON ని పార్స్ చేస్తోంది

అప్రమేయంగా, ఒక JSON వస్తువు ఒక కొండచిలువగా అన్వయించబడింది డిక్ట్ . కొన్నిసార్లు మీరు JSON డేటా నుండి స్వయంచాలకంగా మీ స్వంత తరగతి వస్తువును సృష్టించాల్సిన అవసరం ఉండవచ్చు. మీరు దానిని పేర్కొనడం ద్వారా చేయవచ్చు ఆబ్జెక్ట్_హూక్ మార్పిడిని నిర్వహించే ఫంక్షన్. కింది ఉదాహరణ ఎలాగో చూపుతుంది.

ఇక్కడ a ను సూచించే అనుకూల తరగతి ఉంది వ్యక్తి .

class Person:
def __init__(self, firstName, lastName, age):
self.firstName = firstName
self.lastName = lastName
self.age = age
def __str__(self):
return '{{'firstName' = '{0}','lastName' = '{1}', 'age' = {2}}}'.format(self.firstName, self.lastName, self.age)

ఈ క్లాస్ యొక్క ఉదాహరణ కింది విధంగా అవసరమైన వాదనలను పాస్ చేయడం ద్వారా సృష్టించబడుతుంది:

person = Person('Crystal', 'Newell', 27)

JSON ని అన్వయించేటప్పుడు సందర్భాలను సృష్టించడానికి ఈ క్లాస్‌ని ఉపయోగించడానికి, మీకు ఒక అవసరం ఆబ్జెక్ట్_హూక్ ఫంక్షన్ క్రింది విధంగా నిర్వచించబడింది: ఫంక్షన్ పైథాన్‌ను అందుకుంటుంది డిక్ట్ మరియు సరైన తరగతి వస్తువును అందిస్తుంది.

def obj_creator(d):
return Person(d['firstName'], d['lastName'], d['age'])

మీరు ఇప్పుడు దీనిని ఉపయోగించవచ్చు ఆబ్జెక్ట్_హూక్ JSON పార్సర్‌ని ప్రారంభించినప్పుడు ఫంక్షన్.

with open('sample.json', 'r') as fp:
obj = json.load(fp, object_hook = obj_creator)
print(obj)
# prints
{'firstName' = 'Alice','lastName' = 'Hall', 'age' = 35}

JSON వినియోగానికి ఉదాహరణలు

JSON ఈ రోజుల్లో అత్యంత ప్రజాదరణ పొందింది. అనేక వెబ్‌సైట్‌లు మరియు సాస్ (సాఫ్ట్‌వేర్ యాస్ ఎ సర్వీస్) అప్లికేషన్‌లు JSON అవుట్‌పుట్‌ను అందిస్తాయి, వీటిని నేరుగా అప్లికేషన్‌ల ద్వారా వినియోగించవచ్చు. బహిరంగంగా అందుబాటులో ఉన్న వాటిలో కొన్ని:

  • StackOverflow/StackExchange. ఇక్కడ ఒక URL ఉంది ఇది JSON ఆకృతిలో ప్రశ్నల జాబితాను అందిస్తుంది.
  • GitHub https://developer.github.com/v3/ లో JSON api ని అందిస్తుంది.
  • మరియు ఇక్కడ Flickr API ఉంది: https://developer.yahoo.com/flickr/.

మీరు దానిని ఎలా సద్వినియోగం చేసుకోవాలో మరిన్ని ఉదాహరణల కోసం చూస్తున్నట్లయితే, ఈ గైడ్‌ని చూడండి పైథాన్‌ని ఉపయోగించి సోషల్ మీడియా బాట్‌ను నిర్మించడం .

ఐసో ఫైల్ విండోస్ 7 ని ఎలా క్రియేట్ చేయాలి

మీరు సేవలను వినియోగించడానికి లేదా అందించడానికి JSON ని ఉపయోగిస్తున్నారా? మరియు మీరు మీ టెక్నాలజీ స్టాక్‌లో పైథాన్ ఉపయోగిస్తున్నారా? దిగువ వ్యాఖ్యలలో వివరించండి.

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ ఇది విండోస్ 11 కి అప్‌గ్రేడ్ చేయడం విలువైనదేనా?

Windows పునesరూపకల్పన చేయబడింది. విండోస్ 10 నుండి విండోస్ 11 కి మారడానికి మిమ్మల్ని ఒప్పించడానికి ఇది సరిపోతుందా?

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • ప్రోగ్రామింగ్
  • పైథాన్
రచయిత గురుంచి జై శ్రీధర్(17 కథనాలు ప్రచురించబడ్డాయి) జే శ్రీధర్ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి