অ্যারে রূপান্তর JSON এ


382

আমার কাছে একটি অ্যারে রয়েছে var cars = [2,3,..]যা কয়েকটি পূর্ণসংখ্যা ধারণ করে। আমি অ্যারেতে কয়েকটি মান যুক্ত করেছি, তবে এখন আমার এই অ্যারেটি jQuery এর .getপদ্ধতির মাধ্যমে কোনও পৃষ্ঠায় প্রেরণ করা দরকার । আমি কীভাবে এটি প্রেরণের জন্য একটি JSON অবজেক্টে রূপান্তর করতে পারি?


কেবল ডাবল-চেকিং: আপনি যে পৃষ্ঠাটি জাভাস্ক্রিপ্টের অ্যারে প্রেরণ করতে চান সেটি কি অ্যারে বা সার্ভারে রয়েছে?
আয়ান অক্সলে

এটি একটি জাভাস্ক্রিপ্ট অ্যারে, আমি এটি পাইথন স্ক্রিপ্টে প্রেরণ করব এবং পাইথন জেএসএন স্ট্রিংটি ব্যবহার করবে এবং এটির সাথে কাজ করবে।
বিন্দু

উত্তর:


657

পিছনে-সামঞ্জস্যের জন্য স্ক্রিপ্ট: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

এবং কল করুন:

var myJsonString = JSON.stringify(yourArray);

দ্রষ্টব্য: JSON অবজেক্ট এখন বেশিরভাগ আধুনিক ওয়েব ব্রাউজারের অংশ (IE 8 এবং উপরে)। সম্পূর্ণ তালিকা জন্য ক্যানিউজ দেখুন । ক্রেডিট যায়: @ স্পডলি নীচে তার মন্তব্যের জন্য


5
এটি কাজ করে, jQuery এর মতো কোনও ফাংশন আছে? JQuery এর ইতিমধ্যে কোনও ফাংশন থাকলে আমি অন্য জেএস ফাইল সংযুক্ত না করা পছন্দ করব।
বিন্দু

1
jQuery এর 1.4.1-এ JSON.parse প্রয়োগ রয়েছে, তবে JSON.stringify নয় ... আপনি যদি json2.js এর মিনিটফাই করেন তবে আমি মনে করি এটি <3k।
gnarf

6
হ্যাঁ আমি অবাক হয়েছি jQuery এর খুব বেশি এটি নির্মিত হয়নি
জোনো ডাব্লু

120
যে কেউ এখনও এই উত্তরটি পড়ছেন, এটি উল্লেখ করা মূল্যবান যে সমস্ত আধুনিক ব্রাউজারগুলিতে JSONঅবজেক্টটিকে স্ট্যান্ডার্ড হিসাবে অন্তর্ভুক্ত করা হয় , যার অর্থ আপনি IE7 বা ফায়ারফক্স 3.0 এর মতো পুরানো ব্রাউজারগুলিকে সমর্থন করার পরিকল্পনা না করে আপনার এই স্ক্রিপ্টটির দরকার নেই । সমর্থন চার্টের জন্য CanIUse দেখুন ।
স্পুডলি

1
এটি একটি ব্রাউজার কনসোলে আপনি এটি করতে পারেন তা উল্লেখ করার মতো: var a = [পেস্ট]; JSON.stringify (ক)
মাইকেল কোল

69

আমি এটি সেভাবে তৈরি করেছি:

যদি আমার থাকে:

var jsonArg1 = new Object();
    jsonArg1.name = 'calc this';
    jsonArg1.value = 3.1415;
var jsonArg2 = new Object();
    jsonArg2.name = 'calc this again';
    jsonArg2.value = 2.73;

var pluginArrayArg = new Array();
    pluginArrayArg.push(jsonArg1);
    pluginArrayArg.push(jsonArg2);

প্লাগইনআরআরেগ (যা খাঁটি জাভাস্ক্রিপ্ট অ্যারে হয়) কে JSON অ্যারে রূপান্তর করতে:

var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg))

আপনি আমার জীবন বাঁচিয়েছেন
এমডি। শাফায়াতুল হক


11

আমি json2 লাইব্রেরি ব্যবহার করার সিদ্ধান্ত নিয়েছি এবং আমি "চক্রীয় ডেটা স্ট্রাকচার" সম্পর্কে ত্রুটি পেয়েছি।

আমি আমার জটিল অবজেক্টটি কীভাবে রূপান্তর করতে পারি তা json2 কে বলে সমাধান করেছি। এটি কেবল এখন কাজ করে না তবে আমি কেবল আমার প্রয়োজনীয় ক্ষেত্রগুলি অন্তর্ভুক্ত করেছি। আমি এটি কীভাবে করেছি তা এখানে:

OBJ.prototype.toJSON = function (key) {
       var returnObj = new Object();
       returnObj.devid = this.devid;
       returnObj.name = this.name;
       returnObj.speed = this.speed;
       returnObj.status = this.status;
       return returnObj;
   }

11

অথবা অ্যারেটিকে একটি অবজেক্ট হিসাবে সংজ্ঞায়িত করার চেষ্টা করুন। (var গাড়ি = {};) তারপরে জসন এ রূপান্তর করার দরকার নেই। এটি আপনার উদাহরণে ব্যবহারিক না হলেও আমার পক্ষে ভাল কাজ করেছে।


4

আর একটি উপায় এটি হতে পারে:

        var json_arr = {};
        json_arr["name1"] = "value1";
        json_arr["name2"] = "value2";
        json_arr["name3"] = "value3";

        var json_string = JSON.stringify(json_arr);

1

আপনি যা জিজ্ঞাসা করেছেন তার মতো যদি আপনার কেবল 1 টি অবজেক্ট থাকে তবে নিম্নলিখিতটি কাজ করবে।

var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c); 

1

সংখ্যার অ্যারে থেকে বৈধ জেএসন উত্পন্ন করতে আমি সবচেয়ে সংক্ষিপ্ততম উপায়

let json = `[${cars}]`

আরও সাধারণ অবজেক্ট / অ্যারের জন্য ( বিজ্ঞপ্তি উল্লেখ ছাড়াই ) JSON.stringify (গাড়ি) ব্যবহার করুন


1

কারণ আমার অ্যারেটি নীচের মতো ছিল: এবং আমি এটিকে গতিশীলরূপে তৈরি করার জন্য .push ফাংশনটি ব্যবহার করেছি

my_array = ["234", "23423"];

আমি আমার অ্যারেটিকে জসনতে রূপান্তরিত করার একমাত্র উপায়

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