இப்பதிவு தகவல் பறிமாற்றத்தில் JSONன் பங்கு கட்டுரையின் தொடர்ச்சி.
ஜாவாஸ்கிரிப்ட்டில் நமக்கு வேண்டிய ஆப்ஜெக்டுகளை எளிதில் உருவாக்கலாம். சி++, ஜாவா, சி# போன்ற புரொகிராமிங் மொழிகளில் ஆப்ஜெக்டுகளை உருவாக்க பிரத்யேக classகளை எழுதவேண்டும். எடுத்துகாட்டிற்கு ஒரு பூனையைக் குறிக்கும் ஆப்ஜெக்ட்டை உருவாக்க Cat class எழுதப்படவேண்டும். ஜாவாஸ்கிரிப்ட்டில் classகள் கிடையாது. ஒரு ஆப்ஜெக்ட்டை initialize செய்ய உதவும் constructor மெத்தட்களை நேரடியாகப் பயன்படுத்திக் கொள்ளலாம்.
முக்கியமாக நாம் தெரிந்து வைத்திருக்க வேண்டியது, ஜாவாஸ்கிரிப்ட்டில் array மற்றும் objectஐ எவ்வாறு கையாள்வது என்பதுதான். எல்லா JSON வடிவ தகவல்களும் ஜாவாஸ்கிரிப்ட் arrayவையும், ஜாவாஸ்கிரிப்ட் objectடையும் கொண்டே எழுதப் பட்டிருக்கும்.
array - [] இரு அடைப்புக் குறிக்குள் எழுதவேண்டும்
object - {} இரு code block (நிரல் தொகுப்பு) அடைப்புக் குறிக்குள் எழுதவேண்டும். name:value பண்புகளாக (property) அதன் உறுப்பினர்கள் இருக்கும்.
https://twitter.com/tamilcpu.json
https://www.googleapis.com/blogger/v2/blogs/tamilcpu/posts
function Cat(name,colour) { this.name = name; this.colour = colour; } var tom = new Cat('Tom','Gray Blue'); alert("Tom's colour is " + tom.colour);Valid JSON code is a valid javascript code but the reverse is not true. அதாவது JSON விதிமுறைப்படி எழுதப்பட்ட எந்தஒரு கட்டளை வரியும், சரியாக இயங்கக் கூடிய ஜாவாஸ்கிரிப்ட்டே. ஆனால் அனைத்து ஜாவாஸ்கிரிப்ட் கட்டளைகளும் JSON எனச் சொல்லிவிட முடியாது. இதிலிருந்து JSON என்பது ஒரு புரொகிராமிங் மொழி இல்லை என்பது தெளிவாகிறது. இது தகவல் பறிமாற்றத்திற்கான ஒரு வரையறை (standard for data exchange) அவ்வளவுதான்.
முக்கியமாக நாம் தெரிந்து வைத்திருக்க வேண்டியது, ஜாவாஸ்கிரிப்ட்டில் array மற்றும் objectஐ எவ்வாறு கையாள்வது என்பதுதான். எல்லா JSON வடிவ தகவல்களும் ஜாவாஸ்கிரிப்ட் arrayவையும், ஜாவாஸ்கிரிப்ட் objectடையும் கொண்டே எழுதப் பட்டிருக்கும்.
array - [] இரு அடைப்புக் குறிக்குள் எழுதவேண்டும்
var fruits = [”மா”,”பலா”,”வாழை”] var names = ['rajkumar','nrs'] var numbers= [32,442,442,332,44,223] var array_of_arrays = [['tom','jerry'],['poppeye','olive']]array_of_arrays[o][1] --> ‘jerry' விடையைத் தரும். முதலாவது arrayவிலுள்ள இரண்டாவது உறுப்பினரைக் குறிக்கிறது.
object - {} இரு code block (நிரல் தொகுப்பு) அடைப்புக் குறிக்குள் எழுதவேண்டும். name:value பண்புகளாக (property) அதன் உறுப்பினர்கள் இருக்கும்.
var user= {'name' : 'rajkumar', 'age':27, 'interests':['education','technology','writing'] } user variableக்கு assign செய்திருப்பது ஒரு ஆப்ஜெக்ட் என்பதை { } அடைப்புக் குறிகள் குறிக்கின்றன. user ஆப்ஜெக்டின் interests உறுப்பினர் ஒரு arrayவைக் குறிப்பதனால் arrayவை எப்படி அணுகுவோமோ அப்படியே செய்து கொள்ளலாம். alert('current selection is ' + user.interests[1]); technology என்பதை விடையாகத் தரும்எடுத்துகாட்டாக டிவிட்டர், கூகுள் தளத்திலிருந்து வெளிவரும் JSON தகவல் இதோ
https://twitter.com/tamilcpu.json
//var data = {"errors":[{"message":"Sorry, that page does not exist","code":34}]} $.get('https://twitter.com/tamilcpu.json', function(data) { console.log('error code ' + data.errors[0].code) });
https://www.googleapis.com/blogger/v2/blogs/tamilcpu/posts
var jsonresponse ={
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use
Exceeded. Continued use requires
signup.",
"extendedHelp":
"https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded.
Continued use requires signup."
}
}
console.log(jsonresponse.error.message) -- > Daily Limit for Unauthenticated Use Exceeded.
Continued use requires signup. என்பதை விடையாகத் தரும்.
error ஆப்ஜெக்டுக்குள் இருக்கும் errors arrayவை அணுகுவதற்கு அதற்கான array indexசை
குறிப்பிட வேண்டும்.
console.log(jsonresponse.error.errors[0].reason)
சேமித்துக் கொண்டேன்...
பதிலளிநீக்குமிக்க நன்றி நண்பரே...
தங்கள் வருகைக்கு மிக்க நன்றி
நீக்குஇந்த கருத்து ஆசிரியரால் அகற்றப்பட்டது.
பதிலளிநீக்கும்ஹ்ம் ம்ஹ்ம்ம்ம்... சிறு தவறு உள்ளது. விடையை மின்னஞ்சலில் அனுப்பினால், பிறர் முயற்சி செய்வதற்கும் வசதியாக இருக்கும்.
நீக்குமீண்டும் மின்னஞ்சலில் முயற்சிக்கிறேன்...
நீக்குuse http://www.jsoneditoronline.org to help completing the exercise.
நீக்குநன்றி
நீக்குDo u have TAMIL Programming tutorial for C++ Version??????
பதிலளிநீக்குமன்னிக்கவும். இல்லை நண்பரே. http://www.youtube.com/user/reach2arunprakash/videos?query=c%2B%2B
நீக்குதங்கள் வலையை வலைச்சரத்தில் அறிமுகம் செய்திருக்கேன். http://blogintamil.blogspot.in/2013/11/2.html
பதிலளிநீக்குஐய்யா வணக்கம,
பதிலளிநீக்குநான் தற்செயலாக இந்த வலைத்தள முகவரிக்குள் நுழைந்தேன். எல்லாவற்றையும் படித்துப் பார்த்தேன். ஆனால் ஒன்றும் புரியவில்லை. ஏனென்றால் எனக்கு அடிப்படை கணினி அறிவு என்பது துளி கூட இல்லை. ஆகவே, தாங்கள் அருள் கூர்ந்து அடிப்படைக் கணினி அறிவுகூட இல்லாதவர்களும் படித்து தெரிந்துகொள்ளும் வண்ணம் தூய்மையான தமிழில் எழுதி ஆங்காங்கே தேவைப்படும் இடங்களில் மட்டும் அடைப்புக் குறிக்குள் ஆங்கிலத்திலும் எழுதினீர்கள் என்றால் அனைவருக்குமே அது பிடிக்கும். அதுமட்டுமல்ல விரும்பியும் படிப்பார்கள். செய்வீர்களா?
இப்படிக்கு, மு. தணிகாசலம்.
Thank you very much for your inputs. I try to post for diverse audience.
நீக்கு