பைதான் XML முதல் JSON வரை

Python Xml Json



விரிவாக்கக்கூடிய மார்க்அப் மொழி (எக்ஸ்எம்எல்) மற்றும் ஜாவாஸ்கிரிப்ட் ஆப்ஜெக்ட் நோட்டேஷன் (ஜேஎஸ்ஓஎன்) தரவைச் சேமிப்பதற்கான இரண்டு பிரபலமான தரவு வடிவங்கள். JSON மற்றும் XML இரண்டும் மனிதர்கள் மற்றும் இயந்திரங்களால் படிக்கக்கூடிய வகையில் தரவைச் சேமிக்க அனுமதிக்கின்றன. ஆரம்பத்தில், JSON என்பது ஒரு வகை தரவு கட்டமைப்பாகும், இது முக்கியமாக சேவையகங்கள் மற்றும் மென்பொருள் பயன்பாடுகளுக்கு இடையில் தரவைப் பரிமாற பயன்படுகிறது. இது முக்கிய மதிப்பு ஜோடிகளாக தரவை சேமிக்கிறது. பெருங்குடலின் அடிப்படையில் முக்கிய மதிப்பு ஜோடிகள் பிரிக்கப்பட்ட தரவின் பொருளை JSON உருவாக்குகிறது (:)







மேலும், எக்ஸ்எம்எல் ஒரு HTML வகை மார்க்அப் மொழி, இது தரவைச் சேமிக்கவும் பயன்படுகிறது. ஆனால், எக்ஸ்எம்எல் எந்தவித முன் வரையறுக்கப்பட்ட குறிச்சொற்களையும் வழங்காது. நாங்கள் எங்கள் சொந்த குறிச்சொற்களை உருவாக்கி தரவை சேமிக்க முடியும். நாங்கள் விவாதித்தபடி, JSON மற்றும் XML இரண்டும் சேவையகங்கள் மற்றும் மென்பொருள் பயன்பாடுகளுக்கு இடையில் தரவைப் பரிமாறிக்கொள்ளப் பயன்படுகின்றன. இருப்பினும், இரண்டு தரவு வடிவங்களும் ஓரளவு வேறுபடுகின்றன. JSON என்பது ஒரு பொருள் வகை தரவு சேமிப்பு வடிவமாகும், அதேசமயம் XML க்கு வகை இல்லை. எக்ஸ்எம்எல் கோப்புகள் தரவை ஸ்ட்ரிங் வடிவத்தில் மட்டுமே சேமிக்கின்றன மற்றும் JSON கோப்பை விட கனமானது. அதேசமயம் JSON கோப்புகள் சரம், வரிசைகள், எண்கள் மிதக்கும் புள்ளி எண்கள் மற்றும் பூலியன் ஆகியவற்றை சேமிக்க முடியும்.



இந்த கட்டுரை பைத்தானைப் பயன்படுத்தி XML முதல் JSON மாற்றத்தை விளக்குகிறது. பைதான் xmltodict தொகுதி XML ஐ JSON வடிவத்திற்கு மாற்ற பயன்படுகிறது.



Xmltodict தொகுதி நிறுவல்

XML ஐ JSON ஆக மாற்றுவதற்கு முன், நாம் xmltodict தொகுதியை நிறுவ வேண்டும். பைதான் இன்டெக்ஸ் பேக்கேஜ் (பிப்) ஐப் பயன்படுத்தி xmltodict தொகுதியை நிறுவலாம், மேலும் பைதான் 2 மற்றும் 3. இல் நிறுவலாம். Pip2 இன் விஷயத்தில், xmltodict தொகுதியை நிறுவ பின்வரும் கட்டளையை இயக்கவும்:





குழாய் நிறுவல் xmltodict

நீங்கள் பிபி 3 ஐப் பயன்படுத்துகிறீர்கள் என்றால், xmltodict தொகுதியை நிறுவ பின்வரும் கட்டளையை இயக்கவும்:

பிபி 3 நிறுவல் xmltodict



டெபியன் அடிப்படையிலான அமைப்பின் விஷயத்தில், xmltodict தொகுதியை நிறுவ பின்வரும் கட்டளையை இயக்கவும்:

sudo apt python-xmltodict ஐ நிறுவவும்

மேலே கொடுக்கப்பட்ட கட்டளை பைதான் 2 க்கு ஏற்றது. பைதான் 3 பதிப்பின் விஷயத்தில், பின்வரும் கட்டளையை இயக்கவும்:

sudo apt python3-xmltodict ஐ நிறுவவும்

XML முதல் JSON வரை மாற்றம்

இப்போது XML தரவை JSON வடிவத்திற்கு மாற்றுவோம். இந்த மாற்றத்திற்கு xmltodict மற்றும் JSON தொகுதியைப் பயன்படுத்துவோம். Json ஒரு உள்ளமைக்கப்பட்ட பைதான் தொகுதி. எனவே, அவற்றை நிறுவ வேண்டிய அவசியம் நீக்கப்பட்டது. Xmltodict.parse () செயல்பாடு XML தரவை பைதான் அகராதியாக மாற்றுகிறது. பின்னர், json.dumps () செயல்பாடு மாற்றப்பட்ட அகராதி பொருளை ஒரு வாதமாக எடுத்து மேலும் JSON வடிவத்திற்கு மாற்றுகிறது. எனவே இது இரண்டு படிகள் செயல்முறை:

முதலில் xmltodict.parse () செயல்பாட்டைப் பயன்படுத்தி XML ஐ பைதான் அகராதி பொருளாக மாற்ற வேண்டும்.

இரண்டாவதாக, பைசன் அகராதி பொருளை JSON.dumps () செயல்பாட்டைப் பயன்படுத்தி JSON வடிவத்திற்கு மாற்றுகிறோம். Json.dumps () செயல்பாட்டில், தரவுக்கு இடையில் இடைவெளிகளைச் சேர்க்க உள்தள்ளும் சொத்து பயன்படுத்தப்படுகிறது.

#தொகுதிகள் இறக்குமதி செய்தல்
இறக்குமதிxmltodict
இறக்குமதிjson
#எக்ஸ்எம்எல் அறிவிப்பு
my_xml= '' '


1
மாராய்களின் தோட்டங்கள்
3
இணையதளம்
உண்மை


2
கோல்டன் துலிப் சிறிய அரண்மனை
4

இணையதளம்
உடற்பயிற்சி கூடம்
வாகன நிறுத்துமிடம்
உணவகம்

பொய்


'' '

#பைதான் அகராதியில் xml ஐக் கண்டறிதல்
dict_data=xmltodict.பகுப்பு(my_xml)
json க்கு #மறைத்தல்
json_data=json.திணிப்புகள்(dict_data,உள்தள்ளு=2)
அச்சு(json_data)

வெளியீடு

வெளியீடு XML வெற்றிகரமாக JSON வடிவத்திற்கு மாற்றப்பட்டது என்பதைக் காட்டுகிறது.

XML கோப்பை JSON கோப்பாக மாற்றவும்

XML கோப்புகளின் தரவை JSON கோப்பில் மாற்றலாம் மற்றும் சேமிக்கலாம். XML கோப்பைத் திறந்து, XML தரவை JSON ஆக மாற்றி அதை JSON கோப்பில் சேமிப்போம்.

பின்வருவது XML கோப்பு.

#தொகுதிகள் இறக்குமதி செய்தல்
இறக்குமதிjson
இறக்குமதிxmltodict
# xml கோப்பைத் திறக்கிறது
உடன் திற('hotel.xml','ஆர்') எனxmlfileObj:
#எக்ஸ்எம்எல் தரவை அகராதியாக மாற்றுகிறது
தரவு_ தீர்ப்பு=xmltodict.பகுப்பு(xmlfileObj.படி())
xmlfileObj.நெருக்கமான()
#அகராதி பொருளைப் பயன்படுத்தி JSON பொருளை உருவாக்குதல்
jsonObj=json.திணிப்புகள்(தரவு_ தீர்ப்பு)

#json தரவை json கோப்பில் சேமித்தல்
உடன் திற('hotel.json', 'இல்') எனjsonfileObj:
jsonfileObj.எழுது(jsonObj)
jsonfileObj.நெருக்கமான()

வெளியீடு

பைதான் மொழி பெயர்ப்பாளர் எந்த பிழையையும் காட்டவில்லை; JSON தரவு வெற்றிகரமாக .json கோப்பில் சேமிக்கப்பட்டது என்று அர்த்தம்.

முடிவுரை

XML மற்றும் JSON ஆகியவை தரவைச் சேமிப்பதற்கான இரண்டு பிரபலமான தரவு வடிவங்கள். எக்ஸ்எம்எல் தரவை எக்ஸ்எம்எல்டோடிக்ட் மற்றும் ஜேஎஸ்ஓஎன் தொகுதியைப் பயன்படுத்தி JSON வடிவத்தில் மாற்றலாம். இந்த கட்டுரை XML முதல் JSON தரவு மாற்றத்தை எடுத்துக்காட்டுகளுடன் விளக்குகிறது.