জেএসএন কী এবং আমি কেন এটি ব্যবহার করব?


542

আমি উইকিপিডিয়ায় দেখেছি এবং এটি গুগলেড করেছি এবং অফিসিয়াল ডকুমেন্টেশন পড়েছি, তবে এখনও জেএসএন কী এবং আমি কেন এটি ব্যবহার করব তা বুঝতে পারা যায়নি।

আমি কিছুক্ষণের জন্য পিএইচপি, মাইএসকিউএল এবং জাভাস্ক্রিপ্ট / এইচটিএমএল ব্যবহার করে অ্যাপ্লিকেশনগুলি তৈরি করছি এবং যদি জেএসওন আমার জীবনকে আরও সহজ করতে বা আমার কোডটিকে আরও ভাল করতে বা আমার ব্যবহারকারী ইন্টারফেসকে আরও ভাল করতে কিছু করতে পারে তবে আমি এটি সম্পর্কে জানতে চাই। কেউ আমাকে একটি সংক্ষিপ্ত ব্যাখ্যা দিতে পারেন?



15
copterlabs.com/blog/json- কি-it- is- how-it-works-how-to-use-it এটি ব্যবহারের একটি দুর্দান্ত সোজা উদাহরণ
টম


1
ব্র্যাড গিলবার্ট সত্যই নয় - ডেটা প্রকাশের জন্য এটি নিজস্ব নিজস্ব উপায়, এবং জেএসএনের অনুরূপ কারণ তারা উভয়ই স্ট্রিং হিসাবে বস্তুগুলি প্রকাশ করে (একইভাবে এক্সএমএল বা প্লাস্টার বা অন্য অনেকের কাছে), তবে জেএসওএন মেশিন রচনার পক্ষে এবং মানুষের লেখার জন্য ওয়াইএএমএল আরও ভাল ।
বেন অউবিন

উত্তর:


649

জেএসএন (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) একটি হালকা ওজনের ফর্ম্যাট যা ডেটা ইন্টারচেঞ্জিংয়ের জন্য ব্যবহৃত হয়। এটি জাভাস্ক্রিপ্ট ভাষার একটি উপসেটের উপর ভিত্তি করে (যেভাবে জাভাস্ক্রিপ্টে বস্তুগুলি নির্মিত হয়)। এমডিএন-তে যেমন বলা হয়েছে , কিছু জাভাস্ক্রিপ্ট জেএসএন নয়, এবং কিছু জেএসএন জাভাস্ক্রিপ্ট নয়।

এটি কোথায় ব্যবহৃত হয় তার একটি উদাহরণ ওয়েব পরিষেবাদি প্রতিক্রিয়া। 'পুরানো' দিনগুলিতে, ওয়েব পরিষেবাগুলি এক্সএমএলটিকে ব্যাক ডেটা সংক্রমণ করার জন্য তাদের প্রাথমিক ডেটা ফর্ম্যাট হিসাবে ব্যবহার করেছিল, কিন্তু যেহেতু জেএসএন হাজির হয়েছে ( ডগলাস ক্রকফোর্ড দ্বারা জেএসএন ফর্ম্যাটটি আরএফসি 4627-তে নির্দিষ্ট করা হয়েছে), এটি পছন্দসই ফর্ম্যাট হিসাবে পরিণত হয়েছে কারণ এটি আরও অনেক বেশি লাইটওয়েট

আপনি অফিসিয়াল জেএসএন ওয়েব সাইটে আরও অনেক তথ্য পেতে পারেন ।

JSON দুটি কাঠামোর উপর নির্মিত:

  • নাম / মান জোড়ের সংগ্রহ। বিভিন্ন ভাষায়, এটি কোনও অবজেক্ট, রেকর্ড, কাঠামো, অভিধান, হ্যাশ টেবিল, কীড তালিকা বা সহযোগী অ্যারে হিসাবে উপলব্ধি করা যায়।
  • একটি মান আদেশের তালিকা। বেশিরভাগ ভাষায় এটি অ্যারে, ভেক্টর, তালিকা বা ক্রম হিসাবে উপলব্ধি করা হয়।

জেএসওএন স্ট্রাকচার



JSON অবজেক্ট ডায়াগ্রাম

জেএসওন অ্যারে ডায়াগ্রাম

JSON মান ডায়াগ্রাম

JSON স্ট্রিং ডায়াগ্রাম

জেএসএন নম্বর চিত্র

এখানে JSON ডেটার একটি উদাহরণ রয়েছে:

{
     "firstName": "John",
     "lastName": "Smith",
     "address": {
         "streetAddress": "21 2nd Street",
         "city": "New York",
         "state": "NY",
         "postalCode": 10021
     },
     "phoneNumbers": [
         "212 555-1234",
         "646 555-4567"
     ]
 }

জাভাস্ক্রিপ্টে JSON

জেএসএন (জাভাস্ক্রিপ্টে) একটি স্ট্রিং!

লোকেরা প্রায়শই সমস্ত জাভাস্ক্রিপ্ট অবজেক্টগুলি JSON বলে ধরে নেয় এবং JSON একটি জাভাস্ক্রিপ্ট অবজেক্ট। এটি ভুল।

জাভাস্ক্রিপ্ট var x = {x:y}হয় তাদেরকে JSON না , এই একটি হল জাভাস্ক্রিপ্ট অবজেক্ট । দুটো এক জিনিস নয়। JSON সমতুল্য (জাভাস্ক্রিপ্ট ভাষায় উপস্থাপিত) হবে var x = '{"x":"y"}'xটাইপ স্ট্রিংয়ের একটি অবজেক্ট এটি তার নিজের ডানদিকে কোনও বস্তু নয়। একটি সম্পূর্ণরূপে পালকযুক্ত জাভাস্ক্রিপ্ট অবজেক্ট আপনাকে প্রথমে এটি পার্স আবশ্যক এই চালু করার জন্য, var x = JSON.parse('{"x":"y"}');, xএখন একটি বস্তু কিন্তু এই JSON আর হয় না।

দেখুন জাভাস্ক্রিপ্ট অবজেক্ট বনাম তাদেরকে JSON


জেএসএন এবং জাভাস্ক্রিপ্টের সাথে কাজ করার সময়, evalকলব্যাকে ফিরে আসা ফলাফলটি মূল্যায়নের জন্য আপনাকে ফাংশনটি ব্যবহার করার জন্য প্রলুব্ধ করা যেতে পারে, তবে জাভাস্ক্রিপ্টে নয় এমন দুটি অক্ষর (U + 2028 এবং U + 2029) বৈধ থাকার কারণে এটি প্রস্তাবিত নয় ( এখানে আরও পড়ুন )।

অতএব, ক্রোকফোর্ডের স্ক্রিপ্টটি সর্বদা ব্যবহারের চেষ্টা করা উচিত যা এটি মূল্যায়নের আগে একটি বৈধ জেএসওএন পরীক্ষা করে। স্ক্রিপ্ট ব্যাখ্যা লিঙ্ক পাওয়া যায় এখানে এবং এখানে একটি হল সরাসরি লিঙ্ক JS ফাইল। আজকাল প্রতিটি বড় ব্রাউজারের এর নিজস্ব প্রয়োগ রয়েছে

কীভাবে JSON পার্সার ব্যবহার করবেন (উদাহরণস্বরূপ উপরের কোড স্নিপেট থেকে জেসন সহ):

//The callback function that will be executed once data is received from the server
var callback = function (result) {
    var johnny = JSON.parse(result);
    //Now, the variable 'johnny' is an object that contains all of the properties 
    //from the above code snippet (the json example)
    alert(johnny.firstName + ' ' + johnny.lastName); //Will alert 'John Smith'
};

জেএসএন পার্সার আরও একটি খুব দরকারী পদ্ধতি সরবরাহ করে stringify,। এই পদ্ধতিটি একটি জাভাস্ক্রিপ্ট অবজেক্টটিকে প্যারামিটার হিসাবে গ্রহণ করে এবং JSON ফর্ম্যাট সহ একটি স্ট্রিংকে আউটপুট দেয়। আপনি যখন সার্ভারে ডেটা ফেরত পাঠাতে চান এটির জন্য এটি কার্যকর :

var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}

উপরের দুটি পদ্ধতি ( parseএবং stringify) একটি দ্বিতীয় প্যারামিটারও গ্রহণ করে, এটি এমন একটি ফাংশন যা চূড়ান্ত ফলাফলের প্রতিটি স্তরে প্রতিটি কী এবং মানের জন্য ডাকা হবে, এবং প্রতিটি মান আপনার ইনপুটযুক্ত ফাংশনের ফলাফল দ্বারা প্রতিস্থাপিত হবে। (এই বিষয়ে আরো এখানে )

বিটিডব্লিউ, আপনারা যারা আছেন বলে মনে করেন জেএসএন কেবল জাভাস্ক্রিপ্টের জন্য, এই পোস্টটি দেখুন যা অন্যথায় ব্যাখ্যা করে এবং নিশ্চিত করে।


তথ্যসূত্র


1
তথ্যের যেভাবে সিরিয়ালাইজ করা হয়েছে তা নির্বিশেষে আপনার পার্সার লাগবে, তাই না? অতএব, যদি এর প্রয়োগকরণের বিশদ বিবরণ বাদ দেওয়া হয় তবে ডেটা প্রেরণ করতে আপনি কোন ফর্ম্যাটটি ব্যবহার করেন তা কে যত্নশীল।
টম লেহম্যান

6
আসলে, আপনি যদি ক্লায়েন্ট এবং সার্ভারে ডেটা প্রেরণ করে থাকেন তবে আমি মনে করি আপনার প্রতিক্রিয়া আকারগুলি সম্পর্কে সতর্কতা অবলম্বন করা বেশ গুরুত্বপূর্ণ।
আন্দ্রেয়াস গ্রেচ

9
পেডেন্টিকের জন্য, এমন কয়েকটি চরিত্র রয়েছে যা জেএসএন জাভাস্ক্রিপ্টের চেয়ে আলাদাভাবে পরিচালনা করে, এটি একটি কঠোর উপসেট হতে আটকাচ্ছে:
জেরেমি ব্যাংকস

আপনি যখন বলেন যে এটি XML এর তুলনায় হালকা হালকা এবং আপনি ফাইলাইজের কথা উল্লেখ করছেন বা লাইটওয়েটের কোডিংয়ের কোনও স্পেসিয়াল অর্থ আছে?
হোয়াটহাইটসন

1
তাহলে আপনি কি XML কে JSON এর সাথে প্রতিস্থাপন করবেন? এটাই কি তোমার কথা? যদি তাই হয় ... দুর্দান্ত, এক্সএমএল একটি দুঃস্বপ্ন।
জেমস 111

66

ধারণাটি ব্যাখ্যা করা হয়েছে - কোনও কোড বা প্রযুক্তিগত জারগন নেই

জেএসওএন কী? - আমি কীভাবে এটি আমার স্ত্রী টিএমকে বুঝিয়েছি

আমি: "এটি লিখিতভাবে কারও সাথে যোগাযোগ করার একটি উপায় .... তবে খুব নির্দিষ্ট নিয়ম সহ।

স্ত্রী: হ্যাঁ ....?

আমি: প্রসাইক ইংরাজিতে, নিয়মগুলি বেশ আলগা: ঠিক যেমন খাঁচা লড়াইয়ের সাথে। JSON এর সাথে তেমনটি নয়। কিছু বর্ণনা করার বিভিন্ন উপায় রয়েছে:

1 উদাহরণ 1: আমাদের পরিবারে 4 জন লোক রয়েছে: আপনি, আমি এবং 2 বাচ্চা।

2 উদাহরণ 2: আমাদের পরিবার: আপনি, আমি, কিড 1 এবং কিড 2।

3 উদাহরণ 3: পরিবার: [আপনি, আমি, কিড 1, কিড 2]

4 উদাহরণ 4: আমরা আমাদের পরিবারে 4 জন লোক পেয়েছি: মা, বাবা, কিড 1 এবং কিড 2।

স্ত্রী: তারা পরিবর্তে কেবল সরল ইংলিশ ব্যবহার করে না কেন?

আমি: তারা করবে, তবে মনে রাখবেন আমরা কম্পিউটার নিয়ে কাজ করছি। একটি কম্পিউটার বোকা এবং বাক্য বুঝতে সক্ষম হবে না। সুতরাং কম্পিউটারগুলি জড়িত থাকাকালীন আমরা অবশ্যই সুনির্দিষ্ট হতে হবে অন্যথায় তারা বিভ্রান্ত হয়। তদ্ব্যতীত, জেএসএন যোগাযোগ করার মোটামুটি দক্ষ উপায়, তাই বেশিরভাগ অপ্রাসঙ্গিক জিনিস কেটে ফেলা হয়, যা বেশ হাত। আপনি যদি আমাদের পরিবারকে, একটি কম্পিউটারের সাথে যোগাযোগ করতে চান, তবে আপনি যেভাবে করতে পারেন তার একটি উপায় এটি:

{
                "Family" :  ["Me", "Wife", "Kid1", "Kid2"] 
}

…… এবং তা মূলত জেএসএন। তবে মনে রাখবেন, আপনার অবশ্যই জেএসএন ব্যাকরণের নিয়ম মানতে হবে। যদি আপনি এই নিয়মগুলি ভঙ্গ করেন, তবে কোনও কম্পিউটার সহজেই বুঝতে পারে না যে আপনি কী লিখছেন।

স্ত্রী: তো আমি জসনে কীভাবে লিখব?

একটি ভাল উপায় হ'ল জসন সিরিয়ালাইজার ব্যবহার করা - এটি একটি লাইব্রেরি যা আপনার জন্য ভারী উত্তোলন করে।

সারসংক্ষেপ

জেএসএন হ'ল খুব, খুব নির্দিষ্ট নিয়ম সহ কারও কাছে ডেটা যোগাযোগের একটি উপায়। কী মান জুড়ি এবং অ্যারে ব্যবহার করে। এটি ধারণাটি ব্যাখ্যা করা হয়েছে, এই মুহুর্তে এটি উপরের নির্দিষ্ট বিধিগুলি পড়ার পক্ষে মূল্যবান।


48

সংক্ষেপে - জেএসএন হ'ল সিরিয়ালাইজ করার একটি উপায়, এটি জাভাস্ক্রিপ্ট কোড হয়ে যায়। যখন মৃত্যুদন্ড কার্যকর করা হবে (alওয়াল বা অন্যথায়), এই কোডটি একটি জাভাস্ক্রিপ্ট অবজেক্ট তৈরি করে এবং ফেরত দেয় যা আপনার সিরিয়ালযুক্ত ডেটা ধারণ করে। এটি উপলব্ধ কারণ জাভাস্ক্রিপ্ট নিম্নলিখিত সিনট্যাক্সের অনুমতি দেয়:

var MyArray = [ 1, 2, 3, 4]; // MyArray is now an array with 4 elements
var MyObject = {
    'StringProperty' : 'Value',
    'IntProperty' : 12,
    'ArrayProperty' : [ 1, 2, 3],
    'ObjectProperty' : { 'SubObjectProperty': 'SomeValue' }
}; // MyObject is now an object with property values set.

আপনি এটি বিভিন্ন উদ্দেশ্যে ব্যবহার করতে পারেন। একটির জন্য, এটি আপনার জাভাস্ক্রিপ্ট কোডে আপনার সার্ভারের ব্যাকএন্ড থেকে ডেটা পাঠানোর একটি আরামদায়ক উপায়। সুতরাং, এটি প্রায়শই AJAX এ ব্যবহৃত হয়।

আপনি এটিকে স্ট্যান্ডেলোন সিরিয়ালাইজেশন প্রক্রিয়া হিসাবেও ব্যবহার করতে পারেন যা সহজ এবং এক্সএমএল এর চেয়ে কম জায়গা নেয়। অনেক লাইব্রেরি বিদ্যমান যা আপনাকে বিভিন্ন প্রোগ্রামিং ভাষার জন্য JSON এ অবজেক্টগুলি সিরিয়ালাইজ করতে এবং ডিজিটাইজ করার অনুমতি দেয়।


31

সংক্ষেপে, এটি ডেটা পাস করার জন্য একটি স্ক্রিপ্টিং স্বরলিপি। কিছু উপায়ে এক্সএমএলের বিকল্প, স্থানীয়ভাবে ডেটা বেসিক ডেটা টাইপ, অ্যারে এবং এসোসিয়েটিভ অ্যারে (নাম-মান জোড়া, অবজেক্টস বলা হয় কারণ এটি তাদের প্রতিনিধিত্ব করে) supporting

সিনট্যাক্সটি যা জাভাস্ক্রিপ্টে ব্যবহৃত হয় এবং জেএসওএন নিজেই "জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন" for তবে এটি বহনযোগ্য হয়ে উঠেছে এবং অন্যান্য ভাষায়ও এটি ব্যবহৃত হয়।

বিশদ জন্য দরকারী লিঙ্ক এখানে:

http://secretgeek.net/json_3mins.asp


19

JSON ফর্ম্যাটটি প্রায়শই নেটওয়ার্ক সংযোগের মাধ্যমে কাঠামোগত ডেটা সিরিয়ালাইজ এবং প্রেরণের জন্য ব্যবহৃত হয়। এটি সার্ভার এবং ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে ডেটা প্রেরণ করতে এক্সএমএল এর বিকল্প হিসাবে পরিবেশন করার জন্য প্রধানত ব্যবহৃত হয়।


16

জেএসএন হ'ল জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন। এটি এক্সএমএলের তুলনায় নেটওয়ার্ক সংযোগ জুড়ে ডেটার সেটগুলি প্রেরণ করার একটি আরও বেশি কমপ্যাক্ট উপায়। আমি প্রস্তাব দিচ্ছি যে কোনও জেএসএন-এর মতো এজেএক্স-এর মতো অ্যাপ্লিকেশনগুলিতে ব্যবহার করা হবে যেখানে এক্সএমএল অন্যথায় "প্রস্তাবিত" বিকল্প হবে। এক্সএমএল এর ভার্বোসিটি ডাউনলোডের সময় এবং ব্যান্ডউইথ খরচ ($$$) বাড়িয়ে দেবে। আপনি জেএসএনের সাথে একই প্রভাব অর্জন করতে পারেন এবং এর মার্ক আপটি প্রায় একচেটিয়াভাবে ডেটাতে নিজেই উত্সর্গীকৃত এবং অন্তর্নিহিত কাঠামোর জন্য নয়।


11

সাধারণ সংক্ষিপ্ত উত্তরটি হ'ল: আপনি যদি ডেটা অনুরোধ করতে এজ্যাক্স ব্যবহার করে থাকেন তবে আপনি সহজেই JSON স্ট্রিং হিসাবে অবজেক্টগুলি প্রেরণ এবং ফেরত দিতে পারেন। জাভাস্ক্রিপ্ট সমর্থনের জন্য উপলব্ধ এক্সটেনশানগুলি JSON () এ জাভাস্ক্রিপ্ট প্রকারভেদে AJAX অনুরোধে সার্ভারে ডেটা প্রেরণের জন্য কল করে। AJAX প্রতিক্রিয়াগুলি JSON স্ট্রিং হিসাবে বস্তুগুলিকে ফিরিয়ে দিতে পারে যা একটি সাধারণ callভাল কল দ্বারা জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তরিত হতে পারে, উদাহরণস্বরূপ যদি AJAX ফাংশন কিছু AAAXAXFunctionCallReturningJson ফিরে এসেছে

"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"

আপনি জাভাস্ক্রিপ্ট লিখতে পারে

var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);

জেএসওন ওয়েব সার্ভিস পেওল্ডস এট আল এর জন্যও ব্যবহার করা যেতে পারে তবে এটি আজাক্স ফলাফলের জন্য সত্যিই সুবিধাজনক।

  • আপডেট (দশ বছর পরে): এটি করবেন না, JSON.parse ব্যবহার করুন

1
বিভাজন () সহ, যে কোনও কিছুর মূল্যায়ন হবে। এটি একটি সুরক্ষা ঝুঁকি।
টমাস ওয়েলার

@ থমাস ওল্ডার হ্যাঁ এই উত্তরটি প্রাচীন, আমি জেএসএন-পার্সের সাথে যাব এখন ধন্যবাদ!
স্টিভেন এ। লো

8

আমি JSON পছন্দ করি মূলত কারণ এটি খুব পরিশ্রুত । জিজেপ করা যায় এমন ওয়েব সামগ্রীগুলির জন্য, এটি অগত্যা কোনও বড় বিষয় নয় (সুতরাং x এইচটিএমএল এত জনপ্রিয় কেন )। তবে এমন অনুষ্ঠানগুলি রয়েছে যেখানে এটি উপকারী হতে পারে।

উদাহরণস্বরূপ, একটি প্রকল্পের জন্য আমি এমন তথ্য প্রেরণ করছিলাম যা এক্সএমপিপি-র মাধ্যমে ক্রমিক ও প্রেরণ করা দরকার । যেহেতু বেশিরভাগ সার্ভারগুলি কোনও একক বার্তায় আপনি যে পরিমাণ ডেটা প্রেরণ করতে পারবেন তা সীমাবদ্ধ করে দেবে, তাই আমি এক্সএসএমএল, স্পষ্টত বিকল্প হিসাবে জেএসওএন ব্যবহার করা সহায়ক বলে মনে করি।

একটি যুক্ত বোনাস হিসাবে, আপনি যদি পাইথন বা জাভাস্ক্রিপ্টের সাথে পরিচিত হন তবে আপনি ইতিমধ্যে জেএসওএনকে জানেন এবং খুব বেশি প্রশিক্ষণ ছাড়াই এটি ব্যাখ্যা করতে পারেন।


8

জেএসওএন কী?

জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন (জেএসএন) হ'ল একটি হালকা ডেটা-ইন্টারচেঞ্জ ফর্ম্যাট যা জাভাস্ক্রিপ্টের অবজেক্ট লিটারাল দ্বারা অনুপ্রাণিত।

জেএসওএন মানগুলি থাকতে পারে:

অবজেক্টস (নাম-মান জোড়া সংকলন) অ্যারে (মান তালিকাভুক্ত তালিকা) স্ট্রিং (ডাবল উদ্ধৃতিতে) সংখ্যা সত্য, মিথ্যা, বা নাল

জেএসওএন ভাষা স্বাধীন।

পিএইচপি সহ জেএসএন?

পিএইচপি সংস্করণ 5.2.0 এর পরে, জেএসএন এক্সটেনশনটি ডিকোড হয় এবং ডিফল্ট হিসাবে কার্যকারিতা এনকোড করে।

জসন_নকোড - JSON_decode মানগুলির JSON উপস্থাপনা প্রদান করে - JSON স্ট্রিং জসন_স্লাস্ট_অরোর ডিকোড করে - সর্বশেষ ত্রুটি ঘটে s

JSON সিনট্যাক্স এবং বিধি?

জেএসএন সিনট্যাক্সটি জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন সিনট্যাক্স থেকে উদ্ভূত:

ডেটা নাম / মান জোড়ায় ডেটা কমা দ্বারা পৃথক করা হয় কোঁকড়ানো ধনুর্বন্ধনী ধনুর্বন্ধনী বস্তু স্কোয়ার বন্ধনী অ্যারে ধরে রাখে


4

আমাদের কলেজে একটি প্রকল্প করতে হবে এবং আমরা একটি খুব বড় সমস্যার মুখোমুখি হয়েছি, একে একই অরিজিন পলিসি বলে। অন্য বিষয়গুলিও উদার করে তোলে, এটি জাভাস্ক্রিপ্ট থেকে আপনার XMLHttpRequest পদ্ধতিতে আপনার সাইটটি যে ডোমেন চালু আছে তার বাইরে অন্য ডোমেনগুলির জন্য অনুরোধ করতে পারে না।

উদাহরণস্বরূপ আপনার সাইট www.example.com এ থাকলে আপনি www.otherexample.com তে অনুরোধ করতে পারবেন না। JSONRequest এটি মঞ্জুরি দেয় তবে সেই সাইটটি যদি এটির অনুমতি দেয় তবে আপনি JSON ফর্ম্যাটে ফলাফল পাবেন (উদাহরণস্বরূপ এটিতে একটি ওয়েব পরিষেবা রয়েছে যা JSON এ বার্তা ফেরত দেয়)। এটি এমন একটি সমস্যা যেখানে আপনি সম্ভবত JSON ব্যবহার করতে পারেন।

এখানে ব্যবহারিক কিছু রয়েছে: ইয়াহু জেএসএন ON


4

JSON এবং প্রচলিত বাক্য গঠনটির মধ্যে পার্থক্য নিম্নরূপ হবে (জাভাস্ক্রিপ্টে)

প্রচলিত

 function Employee(name, Id, Phone, email){

      this.name = name;
      this.Id = Id;
      this.Phone = Phone;
      this.email = email;
  }

  //access or call it as 

var Emp = new Employee("mike","123","9373849784","mike.Anderson@office.com");

জেএসওএন সহ

আমরা যদি JSON ব্যবহার করি তবে আমরা বিভিন্নভাবে সংজ্ঞায়িত করতে পারি

  function Employee(args){

   this.name = args.name;
   this.Id = args.Id;
   this.Phone = args.Phone;
   this.email = args.email;
}

//now access this as...

var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});

আমাদের যে গুরুত্বপূর্ণ জিনিসটি মনে রাখতে হবে তা হ'ল, যদি আমাদের জেএসওএন পদ্ধতি ছাড়াই 100 টি উপাদান সহ "কর্মচারী" শ্রেণি বা মডেল তৈরি করতে হয় তবে শ্রেণি তৈরি করার সময় আমাদের সমস্ত কিছু পার্স করতে হবে। তবে JSON এর সাহায্যে আমরা যখন ক্লাসের জন্য কোনও নতুন অবজেক্টটি সংজ্ঞায়িত করা হয় তখনই আমরা অবজেক্টগুলিকে ইনলাইন সংজ্ঞায়িত করতে পারি।

সুতরাং নীচের এই লাইনটি JSON এর সাথে জিনিসগুলি করার উপায় (জিনিসগুলি সংজ্ঞায়িত করার সহজ উপায়)

 var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});

2
এটি ঠিক জেএসএন নয় - এটি একটি জাভাস্ক্রিপ্ট অবজেক্ট (জেএসএন নয়)
বেন অউবিন

4

কখনও কখনও কারিগরিতা দেওয়া হয় যেখানে কোনওটির প্রয়োজন হয় না, এবং শীর্ষে দেওয়া বেশিরভাগ উত্তর সঠিকভাবে প্রযুক্তিগত এবং নির্দিষ্ট হয়ে থাকে, তবে ব্যক্তিগতভাবে আমি মনে করি না যে তারা উইকিপিডিয়ায় খুঁজে পাওয়া যায়, বা বুঝতে পারার মতো আরও সহজ, বা সংক্ষিপ্ত অফিসিয়াল ডকুমেন্টেশন।

আমি জেএসওনকে যেভাবে ভাবতে চাই তা হ'ল - এটি বিভিন্ন ভাষার একটি বিশ্বের মধ্যে একটি ভাষা। তবে, জেএসএন এবং অন্যান্য ভাষার মধ্যে পার্থক্য হ'ল "প্রত্যেকে" "তাদের" মাতৃভাষা "সহ" জেএসওএন "কথা বলে।

একটি বাস্তব বিশ্বের উদাহরণ ব্যবহার করে, আসুন আমরা তিন জন লোকের ভান করি। এক ব্যক্তি ইগবোকে তাদের মাতৃভাষা হিসাবে কথা বলে। দ্বিতীয় ব্যক্তিটি প্রথম ব্যক্তির সাথে আলাপ করতে চায় তবে প্রথম ব্যক্তি ইওরোবাটিকে তাদের প্রথম ভাষা হিসাবে কথা বলে।

আমরা কি করতে পারি?

ধন্যবাদ, আমাদের উদাহরণের তৃতীয় ব্যক্তি ইংলিশ ভাষায় বড় হয়েছিলেন, তবে ইগবো এবং ইওরোবা উভয়কেই দ্বিতীয় ভাষা হিসাবে কথা বলতে পারেন, এবং তাই প্রথম দু'জনের মধ্যে মধ্যস্থতাকারী হিসাবে কাজ করতে পারেন।

প্রোগ্রামিং জগতে প্রথম "ব্যক্তি" হলেন পাইথন, দ্বিতীয় "ব্যক্তি" হলেন রুবি, এবং তৃতীয় "ব্যক্তি" জেএসএন, যিনি ঠিক তাই ঘটে রুবিকে পাইথনে অনুবাদ করতে সক্ষম হন এবং তদ্বিপরীত! এখন স্পষ্টতই এই সাদৃশ্যটি নিখুঁত নয়, তবে দ্বিভাষিক কেউ হিসাবে, আমি বিশ্বাস করি যে JSON কীভাবে অন্যান্য প্রোগ্রামিং ভাষার সাথে ইন্টারেক্ট করে।


2

এটা খুবই সাধারণ. JSON এর অর্থ জাভা স্ক্রিপ্ট অবজেক্ট নোটেশন। সফ্টওয়্যার উপাদানগুলির মধ্যে ডেটা স্থানান্তর করার জন্য এটি এক্সএমএল ব্যবহারের বিকল্প হিসাবে ভাবেন।

উদাহরণস্বরূপ, আমি সম্প্রতি একটি গুচ্ছ ওয়েব পরিষেবাদি লিখেছি যা জেএসএনকে ফিরিয়ে দিয়েছে এবং কিছু জাভাস্ক্রিপ্ট বিকাশকারী কোড লিখেছিল যা পরিষেবাগুলিকে ডাকে এবং সেই ফর্ম্যাটে ফিরে আসা তথ্যকে গ্রাস করে।


2

জেএসএন (জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি) ডেটা এক্সচেঞ্জ / স্থানান্তরের জন্য হালকা ওজনের ডেটা ফর্ম্যাট। এটি জাভাস্ক্রিপ্ট হিসাবে মূল মান জুটিতে। REST এপিআই-এর জন্য এটি সার্ভার থেকে ক্লায়েন্টে ডেটা স্থানান্তর করার জন্য বহুল ব্যবহৃত। আজকাল সামাজিক যোগাযোগ মাধ্যমগুলির অনেকগুলি এটি ব্যবহার করছে। যদিও আমি এটি ডেটা প্রকারের ক্ষেত্রে XML এর মতো শক্তিশালী দেখতে পাচ্ছি না। এক্সএমএলে খুব সমৃদ্ধ ডেটাটাইপস এবং এক্সএসডি রয়েছে। জেএসএনের এতে কিছুটা ঘাটতি রয়েছে।

স্ট্রিং ডেটাগুলির পরিমাণের জন্য জেএসওএন এক্সএমএলের সাথে তুলনা করা হালকা হবে কারণ এক্সএমএলটিতে সমস্ত খোলার এবং বন্ধ হওয়া ট্যাগস ইত্যাদি রয়েছে ...


0

জাভা প্রসঙ্গে, জেএসএন ব্যবহার করতে চাইার একটি কারণ হ'ল এটি জাভা সিরিয়ালাইজেশন কাঠামোর একটি খুব ভাল বিকল্প সরবরাহ করে, যা দেখানো হয়েছে (historতিহাসিকভাবে) কিছুটা গুরুতর দুর্বলতার সাপেক্ষে।

জোশুয়া ব্লচ এই বিষয়টি আইটেম 85 "জাভা সিরিয়ালাইজেশনের বিকল্প পছন্দ করুন" (কার্যকর জাভা 3 য় সংস্করণ) এ গভীরতার সাথে আলোচনা করেছেন

জাভার সিরিয়ালাইজেশন প্রাথমিকভাবে ডেটা স্ট্রাকচারকে এমন বিন্যাসে অনুবাদ করা হয়েছিল যা সহজেই সংক্রমণ বা সঞ্চিত হতে পারে। উপরে উল্লেখ করা গুরুতর শোষণ ছাড়াই জেএসএন এই প্রয়োজনীয়তা পূরণ করে।


-3

আপনার পিএইচপি জসন প্রতিক্রিয়া পার্স করার জন্য নিম্নলিখিত কোডটি চেষ্টা করুন: read.php

<script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>
<script type="text/javascript">  
$.ajax({
    url:'index.php',
    data:{},
    type:"POST",
    success:function(result) {
        jsondecoded = $.parseJSON(result);
        $.each(jsondecoded, function(index, value) {
            $("#servers").text($("#servers").text() + " " + value.servername);
            console.log(value.start);
            console.log(value.end);
            console.log(value.id);
        });
    },
    statusCode: {
    404: function() {
      alert( "page not found" );
    }
  }
});
</script>

server.php

<?php 
echo '[{"start":"2017-08-29","end":"2017-09-01","id":"22"},{"start":"2017-09-03","end":"2017-09-06","id":"23"}]';
?>

যদিও এই কোডটি প্রশ্নের উত্তর দিতে পারে, কীভাবে এবং / বা কেন এটি সমস্যার সমাধান করে তা সম্পর্কিত অতিরিক্ত প্রসঙ্গ সরবরাহ করলে উত্তরের দীর্ঘমেয়াদী মান উন্নত হবে।
নিক 3500
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.