এক্সএমএলের চেয়ে জেএসএনকে কখন পছন্দ করবেন?


148

আমার প্রয়োজনটি কেবল একটি স্প্রেডে ডাটাবেস থেকে প্রাপ্ত মানগুলির একটি সেট প্রদর্শন করা। আমি jquery ব্যবহার করছি।

উত্তর:


149

এগুলির যে কোনও একটি সত্য হলে JSON এর উপরে XML পছন্দ করুন:

  • আপনার বার্তার বৈধতা দরকার
  • আপনি এক্সএসএলটি ব্যবহার করছেন
  • আপনার বার্তাগুলিতে প্রচুর চিহ্নযুক্ত লেখা রয়েছে
  • আপনাকে JSON সমর্থন করে না এমন পরিবেশের সাথে আন্তঃসংযোগ তৈরি করতে হবে

এক্সএমএলের উপরে জেএসনকে পছন্দ করুন যখন এগুলি সমস্ত সত্য হয়:

  • বার্তাগুলিকে বৈধতা দেওয়ার দরকার নেই বা তাদের ডিসিরিয়ালাইজেশন যাচাই করা সহজ
  • আপনি বার্তাগুলি রূপান্তর করছেন না, বা তাদের deserialization রূপান্তর করা সহজ
  • আপনার বার্তাগুলি বেশিরভাগ ডেটা, মার্কড আপ পাঠ্য নয়
  • মেসেজিং এন্ডপয়েন্টগুলিতে ভাল জেএসএন সরঞ্জাম রয়েছে

9
জেএসএন এক্সএমএল থেকে চিহ্নিত আপ পাঠ্য পরিচালনা করার ক্ষেত্রে কোনও সুবিধা দেয় না। তবে আমি আপনার বক্তব্য দেখতে পাচ্ছি; এটাই হয়তো বাড়াবাড়ি।
রবার্ট রসনি

10
যখন সমস্ত শর্ত সমান হয়, দুটি কারণে জেএসনকে সমর্থন করুন: জেএসওএন এক্সএমএল (সিপিইউ বান্ধব) এর তুলনায় পার্স করা অনেক হালকা এবং ট্রান্সফার করার জন্য অনেক কম ডেটা প্রয়োজন (নেটওয়ার্ক বান্ধব)।
রজার ব্যারেটো

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

আমি JSON এর বৈধতা অংশের সাথে পুরোপুরি একমত নই। জেএসওএনও বৈধতাযোগ্য। এই আইইটিএফ খসড়াটি পরীক্ষা করুন: লিঙ্কটি এটি একটি খসড়া তবে এখনও ..
সটনে

@ সটন আপনার কাছে জেএসএনের জন্য পিএম / এসকিউএল নেই যেমন এক্সএমএল রয়েছে (যেমন এক্সকুয়েরি)। এটি কিছু নোএসকিউএল ডিবি (ইজিস্ট, মার্কলজিক সার্ভার, ইএমসি ডকুমেন্টাম এক্সডিবি, বেসএক্স, জোরবা) এর
ভিত্তি

81

আমি এক্সএমএল ব্যবহার করার প্রয়োজন না হলে আমি জেএসএন ব্যবহার করি। এটি বোঝা সহজ, এবং (কারণ এটির জন্য কম কনফিগারেশন ওভারহেডের প্রয়োজন হয়) আপনার গ্রন্থাগারগুলি যদি আপনার প্রসঙ্গে পাওয়া যায় তবে পড়া এবং লেখার জন্য প্রোগ্রাম করা আরও সহজ, এবং তারা এখন বেশ সর্বব্যাপী।

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


56
"আমি এক্সএমএল ব্যবহারের প্রয়োজন না হলে আমি জেএসএন ব্যবহার করি" " Act একদম ঠিক।
বিপন্নমাসা

2
সুতরাং গভীরতর প্রশ্নটি হল "কী কারণে আপনাকে এক্সএমএল ব্যবহারের প্রয়োজন হবে?" এই কারণগুলি কি বোকা; বা এগুলি কি আপনার থেকে ভিন্ন দৃষ্টিকোণ থেকে আলাদা উদ্বেগকে প্রতিফলিত করে?
13ren

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

15

আপনার নির্দিষ্ট ক্ষেত্রে যেখানে আপনি ইতিমধ্যে ক্লায়েন্টের পক্ষ থেকে জাভাস্ক্রিপ্ট করছেন তা বিবেচনা করে, আমি এই কারণে JSON এর সাথে যেতে চাই:

  • যেহেতু জেএসএন জাভাস্ক্রিপ্টের স্থানীয়, আপনি ক্লায়েন্টের পক্ষে কম কোড লিখতে হবে - জাস্ট eval()(বা আরও ভাল, JSON.parse()) জেএসএন স্ট্রিংটি এবং আপনি ব্যবহার করতে পারেন এমন কোনও সামগ্রী পাবেন।

  • একই সময়ে ক্লায়েন্ট-সাইডে জেএসএনকে মূল্যায়ন করা আরও কার্যকর এবং তত দ্রুত হবে।

  • জেএসএন সিরিয়ালাইজেশন এক্সএমএলের চেয়ে ছোট স্ট্রিং উত্পাদন করে। জেএসএন ব্যবহার করে তারের জুড়ে চলমান ডেটার পরিমাণ হ্রাস পাবে এবং সেই ক্ষেত্রে কর্মক্ষমতা উন্নত হবে।

এখানে আরও কিছু পড়তে হবে: http://www.subbu.org/blog/2006/08/json-vs-xML


7
নয় eval()JSON একটি বড় ing চল নেই?
shoosh

@ শাই, জেএসনের নিজস্ব সাইট বলছে যে আপনি জেএসএন-এর উপর ইয়াল ব্যবহার করতে পারেন (প্রথম বন্ধনী দিয়ে জড়ানো): json.org/js.html
স্টারগার

9
Json.org থেকে নেওয়া: alভাল ফাংশনটি খুব দ্রুত। তবে এটি যে কোনও জাভাস্ক্রিপ্ট প্রোগ্রাম সংকলন ও সম্পাদন করতে পারে, তাই সুরক্ষা সংক্রান্ত সমস্যা হতে পারে। উত্সটি নির্ভরযোগ্য এবং সক্ষম হলে ইওালের ব্যবহার নির্দেশিত হয়।
জেএসএন

2
স্পষ্ট করতে JSON.parse () পছন্দ করুন ()।
হাভভি

14

এক্সএমএল বনাম জেএসওএন রিমেল-এ আমি আরও কয়েকটি জিনিস চালিয়েছি:

JSON এর জন্য খুব ভাল

  • নাম / মান জোড়া
  • এই জোড়গুলিকে বাসা বাঁধছে

যার অর্থ এটি একটি অ্যারে বা নেস্টেড অ্যারে পছন্দ করে। তবে জেএসওন দু'জনকেই নিখোঁজ করছে

  • বৈশিষ্ট্যাবলী
  • namespacing

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


জসনের আর একটি সমস্যা হ'ল আপনি নতুন জসন বার্তা তৈরি করতে দুটি জসন বার্তা সহজেই মার্জ করতে পারবেন না। এটি সাধারণত সুস্থ হবে না ..
vtd-xML-লেখক

7
আপনার কীসের জন্য গুণাবলী প্রয়োজন? যদি আপনার উপাদানটিতে অন্যান্য মান থাকে তবে এটিকে একটি বস্তু তৈরি করুন - সদস্যরা হ'ল আপনার "গুণাবলী"। স্পষ্টতই, আমি মনে করি XML এর দ্বিপদী বৈশিষ্ট্য / ধারক কাঠামো সম্পূর্ণরূপে ক্ষতিকারক।
foo

আমি যুক্তি দিয়েছি যে JSON এর বৈশিষ্ট্য না থাকা একটি বৈশিষ্ট্য।
ব্রায়ান

11

সাধারণত জেএসএন আরও কমপ্যাক্ট, এবং পার্স করার পক্ষে দ্রুত।

এক্সএমএল পছন্দ করুন যদি:

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

(প্রায়) এক্সএমএলের একটি গুরুত্বপূর্ণ বিষয়: এইচটিএমএল স্নিপেটগুলি প্রেরণ করার সময় সনাক্ত করার চেষ্টা করুন কাঁচা ডেটা প্রেরণের চেয়ে বেশি উপকারী। এএএএএচএস সাধারণ অ্যাপ্লিকেশনগুলিতে বিস্ময়কর কাজ করতে পারে, তবুও প্রায়শই উপেক্ষা করা হয়। সাধারণত এই স্টাইলটি ধরে নিয়েছে যে কোনও সার্ভার এইচটিএমএল স্নিপেটগুলি প্রেরণ করে যা ওয়েব পৃষ্ঠায় প্রক্রিয়াকরণ ছাড়াই ইনলাইন করা হবে।

সাধারণত এএএএচএইচ ক্ষেত্রে সিসিপিগুলি স্নিপেটগুলিকে চাক্ষুষভাবে ম্যাসেজ করার জন্য এবং ব্যবহারকারী-সুনির্দিষ্ট বা অ্যাপ্লিকেশন-নির্দিষ্ট সেটিংস ব্যবহার করে স্নিপেটের প্রাসঙ্গিক অংশগুলি লুকানো / দেখানোর মতো সাধারণ শর্তাবলীর প্রয়োগ করার জন্য সর্বোচ্চ ব্যবহার করা হয়।


8

JSON পার্স করা সহজ এবং দ্রুত। এক্সএমএল পার্স করা আরও কিছুটা কঠিন এবং পার্স করা এবং স্থানান্তর করতে ধীর (বেশিরভাগ ক্ষেত্রে)।

যেহেতু আপনি jQuery ব্যবহার করছেন, আমি JSON ব্যবহার করার পরামর্শ দিচ্ছি: jQuery JSON ডেটা পুনরুদ্ধার করতে এবং এটি স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করতে পারে। প্রকৃতপক্ষে, আপনি জেএসএন ডেটাটিকে জাভাস্ক্রিপ্ট অবজেক্টে eval ব্যবহার করে রূপান্তর করতে পারেন । এক্সএমএলটি আপনাকে ম্যানুয়ালি ট্রান্সফার করতে হবে (জাভাস্ক্রিপ্টে এটি কীভাবে কাজ করে তা আমি জানি না, তবে বেশিরভাগ ভাষায় আমি এর সাথে এক্সএমএল লাইব্রেরিগুলি ব্যবহার করেছি / এটি আরও জটিল / আরও বিরক্তিকর)।


1
JSON হ'ল একটি জাভাস্ক্রিপ্ট অবজেক্টের সংজ্ঞা অনুসারে, jQuery সত্যিই বিশেষ কোনও "রূপান্তরকারী" করছে না। শুধু ভেবেছি এটা স্পষ্ট করা উচিত।
ব্রায়ান জিয়ানফোরকারো

5
JSON কোনও জাভাস্ক্রিপ্ট অবজেক্ট নয় যতক্ষণ না এটি জাভাস্ক্রিপ্টে ইনস্ট্যান্ট হয়। জাভাস্ক্রিপ্ট অবজেক্টগুলিকে সিরিয়ালাইজ করার জন্য ব্যবহৃত ফর্ম্যাটটি অনুসরণ করতে দেখা যায়, তবে এটি এক্সএমএল হিসাবে সহজেই বেশিরভাগ ভাষা থেকে অ্যাক্সেসযোগ্য (যথাযথ অ্যাড-অন এবং বিল্ট-ইনগুলি সহ)।
dkretz

@ জিয়ানফোরকারো, আমি এটি বুঝতে পারি আমি আমার পোস্টটি আরও স্পষ্টভাবে জানাতে সম্পাদনা করব। @ ডিফ্লেডরফার, আমি বলেছিলাম "এবং এটি একটি জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করুন।" আমি বলিনি JSON ডেটা একটি জাভাস্ক্রিপ্ট অবজেক্ট।
স্টারগার

আহ, দুঃখিত, এটি ধরেনি।
স্টারগার

8

ডেটা পার্স করার জন্য ক্লায়েন্ট ব্রাউজারকে প্রসেসিংয়ের ক্ষেত্রে জেএসওন সর্বদা পছন্দসই। এছাড়াও, জেএসওএন হালকা ওজনের ডেটা এক্সচেঞ্জের ফর্ম্যাট।

এক্সএমএল পার্সিং সর্বদা প্রচুর ব্রাউজার সংস্থান গ্রহণ করে এবং অন্যথায় প্রয়োজন না হলে যতটা সম্ভব আমরা এড়ানো উচিত।


7

ওয়েব প্রোটোকলের ইতিহাস (যেমন এসওএপি, এক্সএমএল, জেএসন, রিস্ট, পক্স, ইত্যাদি) সম্পর্কিত বিশদ সম্পর্কিত একটি ব্লগ পোস্ট আমার রয়েছে যার প্রতিটি সংক্ষিপ্তসার পাশাপাশি কিছু সুবিধা এবং অসুবিধা রয়েছে: http://www.servicestack.net / mythz_blog /? P = 154

আমি আসলে মনে করি আপনি গতিশীল (জেএসএন) এবং স্ট্যাটিক (এক্সএমএল) ভাষার মধ্যে পার্থক্য তুলনা করে এক্সএমএল এবং জেএসএনের মধ্যে অনেকগুলি মিল খুঁজে পেতে পারেন।

মূলত এক্সএমএল একটি কঠোর, আরও কঠোর সিরিয়ালাইজেশন ফর্ম্যাট যা optionচ্ছিকভাবে তার সাথে থাকা স্কিমা (যা কোনও এক্সএসডি বা ডিটিডি হয়) দিয়ে যাচাই করা যেতে পারে। এক্সএসডি এর বেশ বিস্তৃত এবং আপনাকে অনেকগুলি বিভিন্ন ধরণের যেমন তারিখ, টাইমস, গণনা, ব্যবহারকারী সংজ্ঞায়িত প্রকার এবং এমনকি টাইপ উত্তরাধিকার ইত্যাদির বর্ণনা দিতে দেয়। এসওএপি কার্যকরভাবে এক্সএমএল বৈশিষ্ট্য-সেটটির উপরে আপনার ওয়েব পরিষেবাদি বর্ণনা করার মানকযুক্ত উপায় সরবরাহ করে ( উদাহরণস্বরূপ প্রকার এবং ক্রিয়াকলাপ) একটি ডাব্লুএসডিএলের মাধ্যমে। ডাব্লুএসডিএল অনুমানের ক্রিয়াপদ এবং জটিলতার অর্থ হল যে এটির সাথে বিকাশ করা আরও ক্লান্তিকর হতে পারে তবে একই সাথে আপনার কাছে আরও অনেক সরঞ্জাম উপলব্ধ রয়েছে এবং বেশিরভাগ আধুনিক ভাষাগুলি আপনার ক্লায়েন্টের প্রক্সিগুলি তৈরি করতে কিছুটা বোঝা নেওয়ার জন্য স্বয়ংক্রিয় সরঞ্জাম সরবরাহ করে provide বাহ্যিক পরিষেবাদিগুলির সাথে আন্তঃব্যবহার করার চেষ্টা করার সময় বন্ধ।

আমি এখনও আপনার ওয়েব পরিষেবাদির জন্য এক্সএমএল ব্যবহারের পরামর্শ দিচ্ছি যদি আপনার যদি একটি ভালভাবে সংজ্ঞায়িত 'এন্টারপ্রাইজ পরিষেবা' থাকে যা ঘন ঘন পরিবর্তনের সাপেক্ষে না হয় বা আপনার ওয়েব পরিষেবাদিকে বিভিন্ন ভাষা থেকে অ্যাক্সেস করা প্রয়োজন হয়।

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

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

আকার এবং পারফরম্যান্স

মাইক্রোসফ্টস এক্সএমএল এবং জেএসএন বাস্তবায়নের মধ্যে আকার এবং গতির তুলনা করে আমার কাছে কিছু উত্তর- পশ্চিম ডাটাবেস বেঞ্চমার্ক উপলব্ধ । মূলত এক্সএমএল জেএসএনের আকার 2x এরও বেশি তবে একই সাথে দেখে মনে হচ্ছে যে মাইক্রোসফ্ট তাদের এক্সএমএল ডেটা কন্ট্রাক্টরিশিয়ালাইজারকে অনুকূল করে তুলতে অনেক প্রচেষ্টা করেছে কারণ এটি তাদের জেএসওনের তুলনায় 30% এরও বেশি দ্রুত। দেখে মনে হচ্ছে আপনাকে আকার এবং পারফরম্যান্সের মধ্যে বাণিজ্য করতে হবে। এই সত্য নিয়ে সন্তুষ্ট নই, আমি আমার নিজের দ্রুত জসনসারিয়াল লেখার সিদ্ধান্ত নিয়েছি যা এখন 2.6x দ্রুত এবং এমএসের এক্সএমএল এক - এটি উভয় বিশ্বের সবচেয়ে ভাল :)।


6

আমার যদি ইনসামিং ডেটাগুলির পরিমাণগুলি যাচাই করার দরকার হয় তবে আমি জেএসএন এর মাধ্যমে এক্সএমএল বেছে নেব, কারণ এক্সএমএল XSD এর মাধ্যমে এটিকে সমর্থন করে না।


3

জেএসএন থেকে - শেষ পা

আপনি যখন JSON রুটে নামেন, আপনি XML 10 বছর আগে যে একই সমস্যার মুখোমুখি হয়েছিলেন:

একটি জেএসওএন প্যাকেটে দুটি ভিন্ন উত্স থেকে ডেটা মিশ্রিতকরণের ফলে উপাদান লেবেল একে অপরের সাথে ঝাপিয়ে পড়তে পারে। একটি প্যাকিং স্লিপ এবং একটি চালান মিশ্রিত করুন, এবং হঠাৎ করে ঠিকানা থেকে অর্থ কিছু আলাদা হতে পারে। এজন্য এক্সএমএলের নাম স্থান রয়েছে

বিভিন্ন জেএসএন কাঠামোর মধ্যে রূপান্তর করার জন্য জাগতিক কোড লেখার প্রয়োজন হবে। ডেটা ম্যাপ করার আরও ঘোষিত উপায় কাজটি আরও সহজ করে তুলবে। এজন্য এক্সএমএল এর এক্সএসএলটি রয়েছে

আপনার পরিষেবাগুলিতে লোকেরা toুকে পড়ার জন্য জেএসএন প্যাকেটের কাঠামোর বর্ণনা fields এর ক্ষেত্রগুলি, ডেটা প্রকার ইত্যাদি necessary প্রয়োজনীয় necessary এটির জন্য একটি মেটাডেটা ভাষা থাকা অপরিহার্য। এজন্য এক্সএমএলে স্কিমাস রয়েছে

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


2
নেমস্পেসগুলি হ'ল আরও একটি কাজ; আপনি যদি চান তবে আপনি JSON এও একই কাজ করতে পারেন। ডাব্লুএস-কোরিলেশনটিও এক্সএমএলে পরবর্তী চিন্তা হিসাবে যুক্ত হয়েছিল এবং "বিল্ট-ইন" নয়। আপনি এটি JSON এও যুক্ত করতে পারেন। কাঠামোর বিবরণ (স্কিমাস) এক্সএমএলের জন্য বিশেষ নয়; আপনি ইবিএনএফ আবিষ্কারের পর থেকে যে কোনও আনুষ্ঠানিক ভাষায় বেশ কয়েকটি উপায়ে এটি করতে পারেন। এক্সএসএলটি যদিও একটি বৈধ বিক্রয় পয়েন্ট।
foo

2

JSON হ'ল জাভাস্ক্রিপ্টের নেটিভ এনকোডিং। এটির সাথে কাজ করা আরও দ্রুত এবং সহজ হওয়া উচিত।


2

Http://json.org/xML.html এ প্রথম লাইন থেকে

এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ (এক্সএমএল) স্ট্যান্ডার্ড জেনারেলাইজড মার্কআপ ল্যাঙ্গুয়েজ (এসজিএমএল) থেকে প্রাপ্ত একটি পাঠ্য বিন্যাস। এসজিএমএলের তুলনায় এক্সএমএল সহজ simple হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ (এইচটিএমএল) তুলনা করে, আরও সহজ। তবুও, HTML এ একটি ভাল রেফারেন্স বইটি একটি ইঞ্চি পুরু inch কারণ ডকুমেন্টগুলির বিন্যাসকরণ এবং কাঠামো করা একটি জটিল ব্যবসা। । । ।

স্পষ্টতই JSON দ্রুত, তবে এটি আরও স্পষ্ট যে এটি পড়া শক্ত। গতির জন্য জেএসএন ব্যবহার করুন, মানব-মিথস্ক্রিয়া থাকলে XML ব্যবহার করুন এবং আপনি গতি ত্যাগ করতে পারেন।


2
আপনার উত্তরটি কোনও নতুন তথ্য আনবে না ... তবে আমি অনুমান করি এটি এখনও সত্য

1

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


1

এক্সএমএল এবং জেএসএন উভয়ই মাইক্রোসফ্ট দ্বারা সমর্থিত। এক্সএমএল লিটারালগুলি ভিবি 9-তে নতুন শীতল বৈশিষ্ট্য ছিল Aএসপি.নেট 4.0.০ এর আসন্ন সংস্করণে জেএসওএন ক্লায়েন্ট সাইড টেম্প্লেটিংয়ের শক্তিটি অর্জন করার জন্য প্রয়োজনীয়।

আপনি যে প্রশ্নটি জিজ্ঞাসা করেছেন তা থেকে মনে হয় জেএসওএন আপনার পক্ষে পছন্দ হতে পারে কারণ jQuery সহ বা ছাড়াই ক্লায়েন্টের পক্ষে প্রক্রিয়া করা সহজ।


1

JSON ব্যবহার করে

  • যদি ডেটা ব্রাউজারে জাভাস্ক্রিপ্ট দ্বারা গ্রাস করতে হয়।
  • ডেটা মডেল সহজ এবং জটিল নয় (অনেকগুলি সংমিশ্রিত বস্তু)।

এক্সএমএল ব্যবহার করা হচ্ছে

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

1

আমি এই নিবন্ধটি ডিজিটাল বাজারে পেয়েছি সত্যিই আকর্ষণীয়।

নিবন্ধ থেকে কিছু অংশ নীচে উদ্ধৃত করা হয়।

জেএসওএন সম্পর্কে:

যদি আপনি যা করতে চান তার সবগুলি যদি পারমাণবিক মান বা তালিকা বা পারমাণবিক মানগুলির হ্যাশ হয় তবে জেএসএনের এক্সএমএল এর অনেকগুলি সুবিধা রয়েছে: এটি ইন্টারনেটে সোজাভাবে ব্যবহারযোগ্য, বিভিন্ন অ্যাপ্লিকেশনকে সমর্থন করে, জেএসওএন প্রক্রিয়া করার জন্য প্রোগ্রামগুলি লেখা সহজ, এর কয়েকটি optionচ্ছিক বৈশিষ্ট্য রয়েছে, এটি মানব-সুগঠিত এবং যুক্তিসঙ্গতভাবে পরিষ্কার, এর নকশাটি আনুষ্ঠানিক এবং সংক্ষিপ্ত, জেএসওএন নথিগুলি তৈরি করা সহজ, এবং এটি ইউনিকোড ব্যবহার করে। ...

এক্সএমএল সম্পর্কে:

এক্সএমএল অনঠনযুক্ত ডেটার সম্পূর্ণ nessশ্বর্যের সাথে উল্লেখযোগ্যভাবে ভালভাবে ডিল করে। ওয়েব এপিআই ডিজাইনারদের একটি ক্যাডার দ্বারা মৃত্যুর আনন্দের সাথে উদযাপিত হলেও আমি এক্সএমএলের ভবিষ্যত নিয়ে মোটেও উদ্বিগ্ন নই।

এবং "আমি আপনাকে বলেছিলাম!" আমার ডেস্ক টোকেন দূরে। আমি যখন আরও সমৃদ্ধ এপিআইগুলি বিকাশ করতে বলা হয় তখন জেএসএন লোকেরা কী করে তা দেখার জন্য আমি প্রতীক্ষিত। যখন তারা কম ভাল স্ট্রুকড ডেটা বিনিময় করতে চায়, তখন তারা কী এটি JSON এ জুতা দেবে? আমি JSON এর জন্য একটি স্কিমা ভাষার মাঝে মাঝে উল্লেখ দেখতে পাই, অন্যান্য ভাষা কি অনুসরণ করবে? ...


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

1

দ্রুত নিয়ম:

  • তাদেরকে JSON: প্রোগ্রাম থেকে প্রোগ্রামের ডেটা ফর্ম্যাট
  • ইয়ামএল (জেএসএন সুপারসেট): মানব-থেকে-প্রোগ্রামের ডেটা ফর্ম্যাট
  • এক্সএমএল: ডকুমেন্ট মার্কআপ ফর্ম্যাট

ব্যাখ্যা:

জেএসএনের একমাত্র ভূমিকা হ'ল বেশিরভাগ প্রোগ্রামিং ভাষায়: তালিকাগুলি , হ্যাশগুলি এবং স্কেলারগুলিতে প্রচলিত ডেটা টাইপগুলি ব্যবহার করে অবজেক্ট-ওরিয়েন্টেড ডেটা সিরিয়ালকরণ করা এবং সেই উদ্দেশ্যে এটি সত্যই পিটানো বা উন্নত করা যায় না। বুদ্ধিমান হতে "জেএসএনের কোনও সংস্করণ নম্বর নেই [কারণ] জেএসওএন ব্যাকরণের কোনও সংশোধন প্রত্যাশিত নয়"। - ডগলাস ক্রকফোর্ড (আপনি নিজের কাজটি পুরোপুরিভাবে করছেন এমন চিহ্ন হিসাবে এটি পরাস্ত করতে পারে না)

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

এক্সএমএল অন্য যে জিনিসটির জন্য ব্যাপকভাবে ব্যবহৃত হয়েছিল তা ছিল প্রোগ্রামগুলির জন্য মানব লিখনযোগ্য / পাঠযোগ্য (?) ডেটা ফাইল, তবে এখানেও আপনার কাছে ওয়াইএএমএলে একটি আরও সংক্ষিপ্ত, আরও প্রোগ্রাম-বান্ধব, আরও মানব-বান্ধব ফর্ম্যাট রয়েছে, একটি জেএসএন সুপারসেট।

সুতরাং ডেটা উপস্থাপনের জন্য, জেএসএন বোর্ড জুড়ে এক্সএমএলকে পরাজিত করে। এক্সএমএল এর পরে কী বাকি আছে? মিশ্র-সামগ্রী ডকুমেন্ট উপস্থাপনা, যা কি এটা জন্যই ছিল


0

সর্বাধিক নতুন ওয়েব প্রযুক্তি JSON ব্যবহার করে কাজ করে, তাই অবশ্যই JSON ব্যবহারের জন্য একটি ভাল কারণ। একটি দুর্দান্ত সুবিধা হল এক্সএমএলে আপনি একই তথ্যকে একাধিক বিভিন্ন উপায়ে প্রতিনিধিত্ব করতে পারেন, যা জেএসএন-তে আরও সরল।

এছাড়াও জেএসএন আইএমএইচও এক্সএমএল থেকে অনেক বেশি পরিষ্কার, যা এটি আমার জন্য একটি সুস্পষ্ট সুবিধা করে তোলে। এবং যদি আপনি। নেট নিয়ে কাজ করছেন, JSON.NET আপনাকে JSON এর সাথে কাজ করতে সহায়তা করার জন্য একটি স্পষ্ট বিজয়ী।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.