Sunday, February 18, 2018

XML மற்றும் JSON என்ன வேறுபாடு?




XML என்பது என்ன?

XML (extensible markup language) ஒரு மார்க் அப் மொழியாகும்.இது டேட்டாவை ஸ்டோர் செய்ய மற்றும் ட்ரான்ஸ்போர்ட் செய்ய உதவுகின்றது. இது 90 களின் இறுதியில் ரிலீஸ் செய்யப்பட்டது. இது பயன்படுத்த எளிதானதாகும். இது html மொழிக்கு மாற்று அல்ல.இது self description கொடுக்கக் கூடியது.இது டேட்டாவை சுமந்து செல்லுமே தவிர டிஸ்ப்ளே செய்யாது.இதன் டேக்குகள் html போல் predefined கிடையாது.நாமே தாம் டேக்குகளை define செய்ய வேண்டும்
குறிப்பு:
Self describing டேட்டா என்பது டேட்டாவானது அதன் கன்டெண்ட் மற்றும் ஸ்ட்ரக்சர் இரண்டையுமே டெஸ்கிரைப் செய்யக்ம் கூடியது.

மார்க் அப் மொழி என்றால் என்ன?

இது டாக்குமெண்டை highlight மற்றும் underline செய்ய உதவும் சிஸ்டம் ஆகும். எப்படி ஒரு மாணவர் டாக்குமெண்டை பின்னால் ரிவைஸ் செய்வதற்கு ஹைலைட் மற்றும் அண்டர்லைன் செய்கின்றாறோ அதே போல் XML ஆனது தன்னால் உருவாக்கப்பட்ட டேக்குகள் மூலம் டேட்டாவை மார்க் அப் செய்கின்றது.
ஏன் XML-அய் பயன்படுத்த வேண்டும்?
இது பிளாட்ஃபார்ம் மற்றும் லாங்குவேஜ் இண்டிபெண்டென்ட் ஆகும். இதன் முக்கிய உபயோகம் டேட்டாவை எஸ்க்யூஎல் செர்வர் போன்ற ஒன்றில் இருந்து எடுத்து அதை XML ஆக கன்வெர்ட் செய்து வேறு நிரல் அல்லது ப்ளாட்ஃபார்மிற்கு மாற்றலாம். அதாவது XML –ஐ பயன்படுத்தி ஒன்றுக்கு ஒன்று தொடர்பில்லாத இரண்டு பிளாட்ஃபார்ம்களுக்கிடையே கம்யூனிகேட் செய்யலாம்.
மேலும் இது உலகளாவிய அளவில் பவர்ஃபுல் என ஒத்துக் கொள்ளப்பட்டது. நிறைய நிறுவனங்கள் டேட்டாபேஸ், நிரலாக்கம், ஆபிஸ் அப்ளிகேசன் மற்றும் மொபைல் போன் முதலியவற்றுக்கு XML இன்டர்ஃபேஸ்களை பயன்படுத்துகின்றது. அதற்குக் காரணம் XML  ஆனது பிளாட்ஃபார்ம் இண்டிபெண்டென்ட் ஆக செயல் படுவது தான்.
XML –ன் அம்சங்கள் மற்றும் நண்மைகள்
இது வெப் டெவலெப்மென்ட் துறையில் ப்ரவலாக உபயோகப் படுத்தப் படுகின்றது.
XML  ஆனது HTML-ல் இருந்து டேட்டாவை பிரித்தெடுக்க உதவுகின்றது. அதாவது நீங்கள் டைனமிக் டேட்டாவை HTML டாக்குமெண்டில் காண்பிக்கும் பொழுது டேட்டா மாறும் .ஒவ்வொரு தடவையும் எடிட் செய்தல் கடினமானதாகும். ஆனால் XML ஆனது டேட்டாவை html –ல் இருந்து பிரித்தெடுத்து ஸ்டோர் செய்வதால் பணி சுலபமாகின்றது. அதனால் நீங்கள் html மற்றும் css-ஐ அதன் டெசைனிங்க் பணிக்கு மற்றும் உபயோகப்படுத்தலாம். அதாவது டேட்டா ,மாற்றம் குறித்து அவை கவலைப்படத்  தேவையில்லை. சிற்சில வரிகளில் ஜாவாஸ்கிரிப்ட் மூலம் ஒரு எக்ஸ்டெர்னல் XML ஃபைலை ரீட் செய்து டேட்டாவை அப்டேட் செய்யலாம்.
XML ஆனது டேட்டா சேரிங்கை எளிதாக்குகின்றது. பொதுவாக கணினிகள் மற்றும் டேட்டா ஃபார்மேட் ஒன்றுக்கொன்று ஒத்தில்லாத நிலையில் இருக்கின்றது. XML ஆனது டேட்டாவை டெக்ஸ்ட் ஃபார்மேட்டில் சேமிக்கின்றது. இதனால் இது நிரல் மற்றும் பிளாட்ஃபார்ம் இன்டிபெண்டென்ட் ஆக்குகின்றது. எனவே XML –ஐ டேட்டா ஷேரிங்குக்கு பயன்படுத்தலாம்.
XML  ஃபார்மேட்டில் டேட்டாவை டிரான்ஸ்போர்ட் செய்யும் பொழுது வெவ்வேறு  பிளாட்பார்ம்களிக்கிடையே டேட்டாவை எளிதில் டிரான்ஸ்ஃபோர்ட் செய்யலாம்.
அப்ளிகேன்கள் டேட்டாவை html டாக்குமெண்டில் மட்டுமல்லாமல் XML டேட்டா சோர்ஸில் இருந்தும் அணுகலாம்.
XML பயன்படுத்தி புதிய இணைய மொழிகளை உருவாக்கலாம்.
  • உதாரணம்: XHTML, WAP and WML  மற்றும் RSS.

XML உதாரணம்.

சான்று நிரல்-1
<?XML version="1.0" encoding="ISO-8859-1"?>  
<note>  
  <to>raja</to>  
  <from>karthikeyan</from>  
  <heading>Reminder</heading>  
  <body>Don't forget me this weekend!</body>  
</note>  
இதில் முதலாவது வரியானது XML வெர்சனைக் குறிக்கின்றது. கீழே உள்ள note டேக்கு ரூட் டேக்கு ஆகும்,. To, from, heading,மற்றும் body அதன் சைல்ட் டேக்குகள் ஆகும். ஒவ்வொரு டாக்குமெண்டிலும் ஒரு ரூட் டேக்கு ஒன்று இருக்க வேண்டும், மற்றவை அதன் சைல்ட் டேக்குகள் ஆகும்.
.XML டாக்கெண்டுகளில் அதன் எலெமெண்டுகள் ஒரு டாக்குமெண்ட்  ட்ரீ ஆக அமைகின்றது.. இந்த ட்ரீ ஆனது ரூட் டேக்கில் ஆரம்பித்து அதன் லோயெஸ்ட் லெவல்களுக்கு ப்ராஞ்ச் ஆகின்றது.
எல்லா எலெமெண்டுகளுல் சைல்ட் எலெமென்டுகளை கொன்டிருக்கலாம்.
All elements can have sub elements (child elements).
<root>  
  <child>  
    <subchild>.....</subchild>  
  </child>  
</root>  
மற்றுமொரு உதாரணம்.
சான்று நிரல்-2
<bookstore>  
  <book category="COOKING">  
    <title lang="en">Everyday Italian</title>  
    <author>Giada De Laurentiis</author>  
    <year>2005</year>  
    <price>30.00</price>  
  </book>  
  <book category="CHILDREN">  
    <title lang="en">Harry Potter</title>  
    <author>J K. Rowling</author>  
    <year>2005</year>  
    <price>29.99</price>  
  </book>  
  <book category="WEB">  
    <title lang="en">Learning XML</title>  
    <author>Erik T. Ray</author>  
    <year>2003</year>  
    <price>39.95</price>  
  </book>  
</bookstore>  

மற்றுமொரு உதாரணம்.

சான்று நிரல்-3
File: emails.XML
<?XML version="1.0" encoding="UTF-8"?>  
<emails>  
<email>  
  <to>Vimal</to>  
  <from>Sonoo</from>  
  <heading>Hello</heading>  
  <body>Hello brother, how are you!</body>  
</email>  
<email>  
  <to>Peter</to>  
  <from>Jack</from>  
  <heading>Birth day wish</heading>  
  <body>Happy birth day Tom!</body>  
</email>  
<email>  
  <to>James</to>  
  <from>Jaclin</from>  
  <heading>Morning walk</heading>  
  <body>Please start morning walk to stay fit!</body>  
</email>  
<email>  
  <to>Kartik</to>  
  <from>Kumar</from>  
  <heading>Health Tips</heading>  
  <body>Smoking is injurious to health!</body>  
</email>  
</emails>  
JSON என்பது என்ன?
JSON என்பது JAVASCRIPT OBJECT NOTATION என்பதைக் குறிக்கின்றது. இது லைட் வெய்ட் டேட்டா இன்டெர்சேஞ்ச் ஃபார்மட் ஆகும். இது எழுதுவதற்கும் வாசிப்பதற்கும் எளியதாகும். இது லேங்குவேஜ் இண்டிபெண்டென்ட் ஆகும். இது அர்ரே,ஆப்ஜெக்ட், ஸ்ட்ரிங், நம்பர்
மற்றும் வேல்யூ ஆகியவற்றை அடிப்ப்டையாகக் கொண்டது.
சான்று நிரல்-4
File: first.JSON
  1. {"employees":[  
  2.     {"name":"Sonoo""email":"sonoojaiswal1987@gmail.com"},  
  3.     {"name":"Rahul""email":"rahul32@gmail.com"},  
  4.     {"name":"John""email":"john32bob@gmail.com"}  
  5. ]}  

JSON அம்சங்கள்:

1.      எளியது
2.      ஓபன் நெஸ்
3.      செல்ஃப் டெஸ்க்ரைப்பிங்,
4.      இண்டர்னேசனலைசன்.
5.      எக்ஸ்டென்சிபிலிட்டி
6.      இன்டராபபிலிட்டி

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


JSON சான்று நிரல்-5

  1. {"employees":[  
  2.     {"name":"Vimal""email":"vjaiswal1987@gmail.com"},  
  3.     {"name":"Rahul""email":"rahul12@gmail.com"},  
  4.     {"name":"Jai""email":"jai87@gmail.com"}  
  5. ]}  

XML சான்று நிரல்-6

  1. <employees>  
  2.     <employee>  
  3.         <name>Vimal</name>   
  4.         <email>vjaiswal1987@gmail.com</email>  
  5.     </employee>  
  6.     <employee>  
  7.         <name>Rahul</name>   
  8.         <email>rahul12@gmail.com</email>  
  9.     </employee>  
  10.     <employee>  
  11.         <name>Jai</name>   
  12.         <email>jai87@gmail.com</email>  
  13.     </employee>  
  14. </employees>  

JSON மற்றும் XML ஒற்ற்மைகள்

இரண்டுமே எளியது. இரண்டுமே யுனிகோடை ஆதரிக்கின்றன. இரண்டுமே டேட்டாவை செல்ஃப் டெஸ்க்ரைப் செய்கின்றன, இரண்டுமே லாங்குவேஜ் இண்டிபெண்டென்ட் ஆகும்.

JSON பற்றி நாம் மேலும் அறிந்து கொள்ளத் தேவையானது:

JSON உதாரணத்தை நாம் ஆப்ஜெக்ட் மற்றும் அர்ரே பயன்படுத்தியும் உருவாக்கலாம். ஒவ்வொரு ஆப்ஜெக்டும் டெக்ஸ்ட், நம்பர்,பூலியன் முதலானவற்றை கொன்டிருக்கலாம்.

JSON ஆப்ஜெக்ட் உதாரணம்.

JSON ஆப்ஜெக்ட் ஆனது டேட்டாவை கீ/வேல்யூ பேர் ஆக கொண்டிருக்கின்றது. கீ ஆனது எப்பொழுதும் ஸ்டிரிங் ஆக இருக்கும். வேல்யூ ஆனது ஸ்ட்ரிங்க், நம்பர், பூலியன், ஆப்ஜெக்ட், அர்ரே ஆக இருக்கலாம்.  ஒவ்வொரு என்றியும் கமா ஆபரேட்டர் கொண்டு செபரேட் செய்யப்படுகின்றது { கர்லி பிரேஸ்  JSON ஆப்ஜெக்ட் என்பதை குறிக்கின்றது

சான்று நிரல்-7

  1. {  
  2.     "employee": {  
  3.         "name":       "sonoo",   
  4.         "salary":      56000,   
  5.         "married":    true  
  6.     }  
  7. }  

JSON Array உதாரணம்:

The [ (ஸ்குயர் ஆபரேட்டர் JSON அர்ரேயைக் குறிக்கின்றது. JSON  அர்ரே ஆனது வேல்யூவையும் ஆப்ஜெக்டுகளையும் கொண்டிருக்கலாம்.
கீழே உள்ளது JSON அர்ரே ஆகும் . இது நேரடியாக டேட்டாக்களை கொண்டுள்ளது.
  1. ["Sunday""Monday""Tuesday""Wednesday""Thursday""Friday""Saturday"]  
 கீழே உள்ள அர்ரே ஆனது ஆப்ஜெக்டுகளை கொண்டுள்ளது
  1. [  
  2.     {"name":"Ram""email":"Ram@gmail.com"},  
  3.     {"name":"Bob""email":"bob32@gmail.com"}  ]

JSON உதாரணம்

  1. {"employees":[  
  2.     {"name":"Shyam""email":"shyamjaiswal@gmail.com"},  
  3.     {"name":"Bob""email":"bob32@gmail.com"},  
  4.     {"name":"Jai""email":"jai87@gmail.com"}  
  5. ]}  
இதையே நீங்கள் XML-ல் எழுத வேண்டுமெறால் கீழே உள்ளவாறு இருக்க வேண்டும்.
<employees>  
    <employee>  
        <name>Shyam</name>   
        <email>shyamjaiswal@gmail.com</email>  
    </employee>  
    <employee>  
        <name>Bob</name>   
        <email>bob32@gmail.com</email>  
    </employee>  
    <employee>  
        <name>Jai</name>   
        <email>jai87@gmail.com</email>  
    </employee>  
</employees>  

JSON உதாரணம்

  1. {"menu": {  
  2.   "id""file",  
  3.   "value""File",  
  4.   "popup": {  
  5.     "menuitem": [  
  6.       {"value""New""onclick""CreateDoc()"},  
  7.       {"value""Open""onclick""OpenDoc()"},  
  8.       {"value""Save""onclick""SaveDoc()"}  
  9.     ]  
  10.   }  
  11. }}  
மேலே உள்ள JSON –க்கு நிகரான XML உதாரணம்.
  1. <menu id="file" value="File">  
  2.   <popup>  
  3.     <menuitem value="New" onclick="CreateDoc()" />  
  4.     <menuitem value="Open" onclick="OpenDoc()" />  
  5.     <menuitem value="Save" onclick="SaveDoc()" />  
  6.   </popup>  
  7. </menu>  
]  

JSON Object

JSON ஆப்ஜெக்ட் ஆனது key/value pair கொண்டிருக்கின்றது. வேல்யூ எந்த டேட்டாடைப்பாக இருக்கலாம். கீ மற்றும் வேல்யூ கோலன் கொண்டு பிரிக்கப்படுகின்றது. ஒவ்வொரு கீ/வேல்யூ PAIR ம் கமா ஆபரேட்டர் கொண்டு பிரிக்கப் படுகின்றது

JSON ஆப்ஜெக்ட் உதாரணம்

{  
    "employee": {  
        "name":       "sonoo",   
        "salary":      56000,   
        "married":    true  
    }  
}  
மேலே உள்ள உதாரணத்தில் name, salary, married என்பவை கீ ஆகும். இதில் ஒவ்வொன்றிற்கும் முறையே ஸ்ட்ரிங்க், நம்பர், பூலியன் வகை வேல்யூ மதிப்பிருத்தப்பட்டிருக்கின்றது.

JSON ஸ்டிரிங்க் ஆப்ஜெக்ட்


ஸ்டிரிங்க் ஆனது டபுள் கோட்ஸிற்குள் இருக்க வேண்டும்
{  
        "name":       "sonoo",   
        "email":      "sonoojaiswal1987@gmail.com"  
}  

JSON Object நம்பர்கள்:

JSON ஆனது டபுள் ப்ரீசிசன் ஃபுளோட்டிங்க் பாயிண்ட் நம்பர்களை ஆதரிக்கின்றது.
{  
"integer"34,  
"fraction": .2145,  
"exponent"6.61789e+0  
}  

JSON Object பூலியன் உதாரணம்

JSON ஆனது true/false என்பதையும் ஆதரிக்கின்றது
{  
"first"true,  
"second"false  
}  

JSON நெஸ்டட் ஆப்ஜெக்ட் உதாரணம்

ஒரு ஆப்ஜெக்டிற்குள் மற்றொரு ஆப்ஜெக்ட் இருக்கலாம்.
{  
     "firstName""Sonoo",   
     "lastName""Jaiswal",   
     "age"27,  
     "address" : {  
         "streetAddress""Plot-6, Mohan Nagar",  
         "city""Ghaziabad",  
         "state""UP",  
         "postalCode""201007"  
     }  
 }  

JSON அர்ரே

JSON அர்ரே ஆனது ஒன்றுக்கும் மேற்பட்ட  வேல்யூகளைக் குறிக்க உதவுகின்றது.

JSON ஸ்ட்ரிங்க் அர்ரே

  1.  ["Sunday""Monday""Tuesday""Wednesday""Thursday""Friday""Saturday"]    

JSON  நம்பர் அர்ர்ரே

  1.  [1234564395]    

JSON பூலியன் அர்ரே

  1.  [truetruefalsefalsetrue]    

JSON ஆப்ஜெக்ட் அர்ரே

  1. {"employees":[    
  2.     {"name":"Ram""email":"ram@gmail.com""age":23},    
  3.     {"name":"Shyam""email":"shyam23@gmail.com""age":28},  
  4.     {"name":"John""email":"john@gmail.com""age":33},    
  5.     {"name":"Bob""email":"bob32@gmail.com""age":41}   
  6. ]}  

JSON மல்டி டைமன்சனல் அர்ரே

  1.  [    
  2.  [ "a""b""c" ],   
  3.  [ "m""n""o" ],   
  4.  [ "x""y""z" ]   
  5. ]  

-நன்றி
முத்து கார்த்திகேயன் , மதுரை
ads Udanz

No comments:

Post a Comment