ga
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
भारतीय
Türkçe
한국인
Italiano
اردو
Indonesia
Polski Seasann JSON do JavaScript Object Notation. Ní hamháin go bhfuil sé éadrom ach freisin éasca do dhaoine é a léamh agus a scríobh. Ar an gcaoi chéanna, is furasta do mheaisíní é a pharsáil agus a ghiniúint. Tá parsáil ríthábhachtach agus ábhar á láimhseáil ó APIs, comhaid chumraíochta, nó foinsí eile faisnéise stóráilte d’aon fhorbróir Python. Siúlann an t-alt seo tú tríd na bunghnéithe a bhaineann le JSON a pharsáil ag úsáid mhodúl Python, lena n-áirítear conas json.dump i Python a úsáid chun ábhar a shábháil.
Struchtúrann JSON sonraí i bpéirí eochair-luacha. Seo sampla bunúsach d’ábhar:
{
"name": "Alice",
"age": 30,
"is_student": false,
"courses": ["Math", "Science"]
}
Tá na heilimintí coitianta sa sampla pharsála python seo: sreang, uimhir, boolean, agus eagar. Má bhíonn tú eolach ar an struchtúr seo, is iomaí níos éasca a bhíonn sé oibriú i Python.
Is féidir leat sreang JSON a pharsáil go héasca ag baint úsáide as an modúl ionsuite i Python. Áirítear leis an modúl seo modhanna mar json.loads() chun léamh ó shreang, agus json.load() chun léamh ó chomhad. Os a choinne sin, úsáidtear json.dumps() agus json.dump i Python chun faisnéis a scríobh chuig sreang agus chuig comhad, faoi seach.
Féachaimis ar conas sonraí JSON a léamh, rud a phléifimid anois.
Más mian leat JSON a léamh i Python, bain úsáid as json.loads() chun sreang a pharsáil agus í a thiontú ina réad Python:
import json
json_string = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}'
data = json.loads(json_string)
print(data)
Aschur:
Chun faisnéis a bhaint as comhad, úsáid an modh seo: json.load() agus oscail comhad json i Python:
import json
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
Aschur:
Sula scríobhann tú, is minic a bhíonn ort faisnéis atá ann cheana a léamh nó a luchtú — agus sin an áit a mbíonn an modh python load json file úsáideach. Nuair atá an fhaisnéis luchtaithe i gceart, is féidir leat í a ionramháil agus a scríobh ar ais i bhformáidí éagsúla.
Chun faisnéis a scríobh i sreang, úsáid an modh json.dumps i Python:
import json
data = {
"name": "Alice",
"age": 30,
"is_student": False,
"courses": ["Math", "Science"]
}
json_string = json.dumps(data)
print(json_string)
Aschur:
Chun sonraí a scríobh isteach sa chomhad seo, úsáid an modh json.dump i Python:
import json
data = {
"name": "Alice",
"age": 30,
"is_student": False,
"courses": ["Math", "Science"]
}
with open('data.json', 'w') as file:
json.dump(data, file)
Bíonn rudaí neadaithe coitianta nuair a bhíonn tú ag obair le struchtúir faisnéise níos casta, agus is féidir leo déileáil go héasca leis na struchtúir neadaithe seo.
import json
nested_json_string = '''
{
"name": "Alice",
"age": 30,
"is_student": false,
"courses": ["Math", "Science"],
"address": {
"street": "123 Main St",
"city": "Wonderland"
}
}
'''
data = json.loads(nested_json_string)
print(data['address']['city'])
Aschur:
Ní féidir leis an teanga gach réad saincheaptha a thiontú go huathoibríoch ina JSON. Sa chás sin, beidh ort ionchódóir saincheaptha a chruthú.
import json
class Student:
def __init__(self, name, age, is_student):
self.name = name
self.age = age
self.is_student = is_student
class StudentEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Student):
return obj.__dict__
return super().default(obj)
student = Student("Alice", 30, False)
json_string = json.dumps(student, cls=StudentEncoder)
print(json_string)
Aschur:
Chun díchódú isteach i rudaí saincheaptha, beidh ort díchódóir saincheaptha a chur i bhfeidhm a bhfuil a fhios aige conas déileáil leo.
import json
class Student:
def __init__(self, name, age, is_student):
self.name = name
self.age = age
self.is_student = is_student
def student_decoder(dct):
return Student(dct['name'], dct['age'], dct['is_student'])
json_string = '{"name": "Alice", "age": 30, "is_student": false}'
student = json.loads(json_string, object_hook=student_decoder)
print(student.name)
Aschur:
Is féidir le sonraí struchtúrtha roinnt earráidí coitianta a chruthú, go háirithe nuair a bhíonn tú ag parsáil, ag giniúint, nó ag rochtain ar ábhar struchtúrtha. Cabhraíonn parsálaí iontaofa python json leis na ceisteanna seo a aithint agus a réiteach níos éifeachtaí. Seo cuid de na cinn is coitianta:
Earráid choitianta agus comhad json á pharsáil ná formáid neamhbhailí a fháil. Éilíonn sé comharthaí dúbailte timpeall ar eochracha agus ar luachanna sreinge, agus neadaithe ceart lúibíní agus lúibíní cuartha.
import json
invalid_json_string = "{'name': 'Alice', 'age': 30, 'is_student': False}"
try:
data = json.loads(invalid_json_string)
except json.JSONDecodeError as e:
print(f"Invalid JSON format: {e}")
Aschur:
Uaireanta, níl gach eochair a mbeifeá ag súil leis san ábhar. Ligeann an modh get() duit eochracha ar iarraidh a láimhseáil go sábháilte trí luach réamhshocraithe a thabhairt ar ais in ionad earráid a ardú.
import json
json_string = '{"name": "Alice", "age": 30}'
data = json.loads(json_string)
is_student = data.get('is_student', False)
print(is_student)
Úsáid an modúl pdb chun briseadhphointí a shocrú agus do chód parsála a dhífhabhtú.
import json
import pdb
json_string = '{"name": "Alice", "age": 30, "is_student": false}'
pdb.set_trace()
data = json.loads(json_string)
print(data)
Is gnách le scrapáil ghréasáin ábhar a fháil ó sheirbhísí a thugann an fhaisnéis ar ais. Thíos tá sampla a úsáideann an leabharlann requests in éineacht leis an deireadhphointe https://httpbin.org/anything.
Sula dtosaímid, seiceáil go bhfuil an pacáiste requests suiteáilte agat:
pip install requests
Agus ábhar struchtúrtha á láimhseáil agat, is féidir leat an leabharlann requests a úsáid chun rudaí a dhéanamh níos éasca. Ní gá ach iarraidh GET agus an URL a eisiúint trí requests.get(url). Ansin, is féidir leat an freagra a pharsáil le response.json(). As sin amach, is simplí píosaí sonracha faisnéise mar cheanntásca, an gníomhaire úsáideora, an bunús, nó an URL iarratais a rochtain agus iad a phriontáil de réir mar is gá.
Tá láimhseáil láidir earráidí sa chód; ghabhann sé json.JSONDecodeError nuair a tharlaíonn earráid dhíchódaithe, agus KeyError nuair atá eochair shonrach ar iarraidh, rud a dhéanann an clár níos slán ó thitimí ‘gan sonraí’. Mar sin, cuireann an daingne sin ar chumas an chóid tascanna fíor-scrapála gréasáin a láimhseáil go foirfe.
import requests
import json
url = 'https://httpbin.org/anything'
response = requests.get(url)
try:
data = response.json()
# Sonraí sonracha a bhaint as freagra JSON
headers = data['headers']
user_agent = headers.get('User-Agent', 'N/A')
origin = data.get('origin', 'N/A')
url = data.get('url', 'N/A')
print(f"User Agent: {user_agent}")
print(f"Origin: {origin}")
print(f"URL: {url}")
except json.JSONDecodeError:
print("Error decoding JSON response")
except KeyError as e:
print(f"Key error: {e} not found in the JSON response")
Caithfidh gach forbróir a bheith ar an eolas faoin gcaoi le comhad json a pharsáil i Python. Leis an modúl agus an bealach is fearr a aibhsítear sa lámhleabhar seo, beidh tú in ann léamh, scríobh, agus dífhabhtú go tapa go leor. Ciallaíonn sé seo do chód a thástáil go rialta agus na huirlisí cearta agus na gnéithe is déanaí a úsáid chun feidhmiú níos fearr. Díríonn an treoir seo ar shonraí json a pharsáil i Python chun cabhrú leat na tascanna seo a mháistir go héifeachtach.
Agus tú ag déanamh scrapála gréasáin, bíonn parsáil ríthábhachtach ós rud é go dtagann ábhar ó APIs gréasáin go minic sa bhformáid seo. Má bhíonn tú oilte ar phróiseáil agus ar láimhseáil na sonraí seo, is féidir leat faisnéis luachmhar a bhaint go héifeachtach ó fhoinsí éagsúla.
Is scil thábhachtach í parsáil d’aon fhorbróir atá ag obair le APIs gréasáin, comhaid chumraíochta, nó foinsí seachtracha. Déantar faisnéis a láimhseáil—cibé acu ó shreang, ó chomhad, aschur struchtúrtha a scríobh, nó ag déileáil le rudaí neadaithe agus saincheaptha— a shimpliú tríd an modúl ionsuite i Python. Is féidir le forbróirí na modhanna json.load(), json.loads(), json.dump(), json.dumps() i Python a úsáid agus foghlaim conas dul i ngleic le fadhbanna coitianta, ionchódóirí nó díchódóirí saincheaptha a chur i bhfeidhm, agus feidhmchláir shaincheaptha a chruthú chun idirghníomhaíochtaí faisnéise atá láidir agus iontaofa a bhaint amach. Ós rud é go bhfuil an fhormáid seo ina caighdeán gréasáin le haghaidh malartú faisnéise, tá na scileanna seo luachmhar i scrapáil, láimhseáil ábhair, agus comhtháthú ilseirbhísí trí APIs. Déanann cód simplí python chun comhad json a léamh parsáil comhad json i Python inrochtana d’aon tionscadal, agus ligeann json.dump i Python ábhar a shábháil ar ais go héifeachtach.
Tuairimí: 0