জেএসএন স্ট্রিংয়ে অবজেক্টকে রূপান্তর করুন


122

jQuery.parseJSON('{"name":"John"}')স্ট্রিং প্রতিনিধিত্বকে বস্তুতে রূপান্তরিত করে তবে আমি বিপরীতটি চাই। অবজেক্টটি জেএসএন স্ট্রিংয়ে রূপান্তরিত হবে আমি একটি লিঙ্ক পেয়েছি http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html তবে এর json2.js থাকা দরকার jQuery এর একটি নেটিভ আছে এটি করার পদ্ধতি?


উত্তর:


188

jQuery কেবল নেটিভ ব্রাউজার পদ্ধতিতে কল করার আগে কিছু রেজিপেক্স চেকিং করে window.JSON.parse()। যদি এটি উপলভ্য না হয় তবে এটি জাভাস্ক্রিপ্ট অবজেক্ট তৈরি করতে eval()আরও সঠিকভাবে ব্যবহার করে new Function()

বিপরীত JSON.parse()হয় JSON.stringify()যা একটি স্ট্রিং মধ্যে একটি জাভাস্ক্রিপ্ট অবজেক্ট সিরিয়েলাইজ। jQuery এর নিজস্ব কার্যকারিতা নেই, আপনাকে ব্রাউজারটি অন্তর্নির্মিত সংস্করণ বা http://www.json.orgjson2.js থেকে ব্যবহার করতে হবে

JSON.stringify() সমস্ত বড় ব্রাউজারে উপলব্ধ, তবে পুরানো ব্রাউজারগুলির সাথে সামঞ্জস্যপূর্ণ হতে আপনার এখনও সেই ফলব্যাকের প্রয়োজন।


4
এটি সহায়ক হতে পারে:var theObject = (typeof data == "string") ? jQuery.parseJSON(data) : data;
রবার্থট্টিংগার

2
@ টেক্রেটিক: আমি আশা করি আপনি ট্রল করছেন। ক্রোম প্রয়োগ JSONদিন 1. যেহেতু হোস্ট বস্তু
jAndy

5
@ জেডি: ওহ, দুঃখিত ট্রোলিং নয় তবে ওএইচ এত ভুল। স্থানীয় জেএসওএন সমর্থনটি ২০০৯ এর মাঝামাঝি ওয়েবকিটে যুক্ত করা হয়েছিল , এটি Chrome 3.0 এর পরে সমর্থনযোগ্য করে তুলেছে। আমার আগের, totaly বেঠিক মন্তব্যকারীকে দেড় ওপর ভিত্তি করে এই সেকেলে প্রশ্ন , CMS আমি মুহূর্ত যা আসলে তার নিজস্ব লাইব্রেরির সাথে window.JSON প্রতিস্থাপন এ কাজ করছি সঙ্গে মিলিত, অর্থ JSON.stringify()সংজ্ঞায়িত করা হয় না। বেশিরভাগ ক্ষেত্রে সমস্ত ব্যর্থতা ব্যর্থ।
মোলম্বি


1
@ জে অ্যান্ডি: আমাকে বিভ্রান্ত করবেন না; : JSON.stringify 'serialises' একটি বস্তু বলে দয়া করে যে তার মাত্র একটি ভুল
halfbit

12

ডিবাগিংয়ের উদ্দেশ্যে অবজেক্ট.টোসোর্স ()ও দরকারী, যেখানে আপনি ডিবাগিংয়ের উদ্দেশ্যে অবজেক্ট এবং এর বৈশিষ্ট্যগুলি দেখাতে চান। এটি একটি জেনেরিক জাভাস্ক্রিপ্ট (jQuery নয়) ফাংশন, তবে এটি কেবল "আধুনিক" ব্রাউজারগুলিতে কাজ করে।


4

জাভাস্ক্রিপ্ট অবজেক্টকে জসন ডেটাতে রূপান্তর করুন

$("form").submit(function(event){
  event.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvertedData = JSON.stringify(formData);  // Convert to json
  consol.log(jsonConvertedData);
});

আপনি http://jsonlint.com ব্যবহার করে জসন ডেটা যাচাই করতে পারেন


2

আপনি দুর্দান্ত jquery-Json প্লাগইন ব্যবহার করতে পারেন:

http://code.google.com/p/jquery-json/

জেসন অবজেক্টগুলিতে রূপান্তর করা সহজ করে তোলে।


2
অ্যাড-অন লজিক লাইব্রেরিতে এসপিএল পদ্ধতিগুলির পরামর্শ দিন।
ডেভিড জে এডি

2
এসপিএল = স্ট্যান্ডার্ড পিএইচপি লাইব্রেরি। এই ক্ষেত্রে অনুমান করা হবে এসজেএল (স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট লাইব্রেরি)।
ডেভিড জে এডি

3
প্রশ্নটি jQuery এবং জাভাস্ক্রিপ্ট সম্পর্কে। এটি পিএইচপি, পিএইচপি লাইব্রেরি বা এসপিএলের সাথে কিছুই করার নেই।
জর্জ ফিলিপোকোস

3
স্ট্যান্ডার্ড লাইব্রেরি হ'ল স্ট্যান্ডার্ড লাইব্রেরি; ভাষা কোন ব্যাপার না। আমার বক্তব্য হ'ল 'এই প্লাগইনটি ব্যবহার করুন' সিনড্রোমের উপর ভাষা শেখায় এমন একটি সমাধানের প্রস্তাব দেওয়া ভাল।
ডেভিড জে এডি

1
ঠিক হ'ল, চাকাটিকে পুনর্বিবর্তন কেন ... একটি 'প্লাগইন'-এর মাধ্যমে কোনও ভাষার মানক দক্ষতা ব্যবহার করুন তবে আমি খনন করি।
ডেভিড জে এডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.