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


1244

আমি যদি এর সাথে জেএসে কোনও বস্তুর সংজ্ঞা দিই:

var j={"name":"binchen"};

আমি কীভাবে এই জিনিসটিকে JSON এ রূপান্তর করতে পারি? আউটপুট স্ট্রিংটি হওয়া উচিত:

'{"name":"binchen"}'

63
JSON.stringify()আপনি যে পদ্ধতিটি সন্ধান করছেন তা হ'ল
গোথাম গোপালকৃষ্ণন

10
যখন আপনি এটি শিখতে হয় তখন সর্বদা প্রথম থাকে।
ইগান ওল্ফ

উত্তর:


1922

সমস্ত বর্তমান ব্রাউজারে দেশীয় জেএসওএন সমর্থন অন্তর্নির্মিত রয়েছে So সুতরাং আপনি যতক্ষণ আইআই IE / like এর মতো প্রাগৈতিহাসিক ব্রাউজারগুলির সাথে কাজ করছেন না আপনি যতটা সহজেই এটি করতে পারেন:

var j = {
  "name": "binchen"
};
console.log(JSON.stringify(j));


5
কাজের জন্য এই স্ক্রিপ্টটি ডাউনলোড করুনJSON.stringify(j);
আবিনগঞ্জ

2
নোডেজগুলিতে কাজ করুন কারণ নোড একই ইঞ্জিন ব্যবহার করে
জর্জিলেভিভ

26
এই উত্তরটি আইই 9 প্রকাশের এক বছর আগে পোস্ট করা হয়েছিল তাই আইই 8 রচনার সময় প্রকৃতপক্ষে একটি আধুনিক ব্রাউজার ছিল, বা অন্তত এটি সর্বশেষতম আই আই উপলব্ধ ছিল।
অ্যান্ডিস

JSON.stringify নেস্টেড অবজেক্টগুলিকে রূপান্তর করে না। এর জন্য কোন সমাধান .. ??
রীতেশ

9
আপনার যদি আরও পঠনযোগ্য জসন স্ট্রিংয়ের প্রয়োজন হয় তবে আপনি স্পেস প্যারামিটারগুলি ব্যবহার করতে পারেনvar formattedJSON = JSON.stringify(j, null, 2);
জ্যাসেক গজেল

110

সঙ্গে JSON.stringify()পাওয়া json2.js অথবা সবচেয়ে আধুনিক ব্রাউজারে নেটিভ।

   JSON.stringify(value, replacer, space)
        value       any JavaScript value, usually an object or array.

       replacer    an optional parameter that determines how object
                    values are stringified for objects. It can be a
                    function or an array of strings.

       space       an optional parameter that specifies the indentation
                    of nested structures. If it is omitted, the text will
                    be packed without extra whitespace. If it is a number,
                    it will specify the number of spaces to indent at each
                    level. If it is a string (such as '\t' or ' '),
                    it contains the characters used to indent at each level.

       This method produces a JSON text from a JavaScript value.

6
একটি বিট আরো স্বচ্ছতা জন্য: replacer হয় আপনি এখনও ব্যবহার করতে চান তাই যদি ঐচ্ছিক, spaceARG আপনি করা nullজন্য replacer। আপনি যদি সুন্দর মুদ্রণের জন্য এই ফাংশনটি ব্যবহার করতে আগ্রহী হন তবে আমি এই উত্তরটিও
গ্লেন লরেন্স

34

টমাস ফ্র্যাঙ্ক দ্বারা আপডেট / আরও ভাল উপায় দেখুন:

আপডেট মে 17, 2008: ছোট স্যানিটাইজার টোবজেক্ট-পদ্ধতিতে যুক্ত হয়েছে। এটিতে কোনও দূষিত কোড পাওয়া গেলে এখন টোঅবজেক্ট () স্ট্রিংটি () বিভক্ত হবে না even আরও সুরক্ষার জন্য: অন্তর্ভুক্ত ফাংশন পতাকাটিকে সত্যে সেট করবেন না।

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

  • চক্রীয় রেফারেন্সগুলি পরিচালনা এবং পুনরুদ্ধার করুন
  • ফাংশন / পদ্ধতিগুলির জন্য জাভাস্ক্রিপ্ট কোড অন্তর্ভুক্ত করুন (বিকল্প হিসাবে)
  • প্রয়োজনে অবজেক্ট.প্রোটোটাইপ থেকে অবজেক্টের সদস্যদের বাদ দিন।

23

আপনি JSON.stringify () পদ্ধতিটি JSON অবজেক্টটিকে স্ট্রিংয়ে রূপান্তর করতে ব্যবহার করতে পারেন ।

var j={"name":"binchen"};
JSON.stringify(j)

বিপরীত প্রক্রিয়াটির জন্য, আপনি JSON স্ট্রিংটিকে JSON অবজেক্টে রূপান্তর করতে JSON.parse () পদ্ধতি ব্যবহার করতে পারেন ।


বিপরীত প্রক্রিয়া যুক্ত করার জন্য ধন্যবাদ।
ডেভিড লাভেরি

12

কৌণিক জেএসে

angular.toJson(obj, pretty);

আপত্তি: ইনপুটটি জেএসএন-এ সিরিয়ালায়িত করা হবে।

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

(ডিফল্ট: 2)


12

JSON.stringify(j, null, 4) আপনার যদি সুন্দরীকরণের প্রয়োজন হয় সে ক্ষেত্রে আপনাকে সুন্দরী জেএসওনও দেবে

দ্বিতীয় প্যারামিটারটি replacer হয়। এটি ফিল্টার হিসাবে ব্যবহার করা যেতে পারে যেখানে স্ট্রিংফাই করার সময় আপনি নির্দিষ্ট কী মানগুলিকে ফিল্টার করতে পারেন। যদি নালিতে সেট করা থাকে তবে এটি সমস্ত মূল মান জোড়া দেবে



9

JSON.stringify একটি জাভাস্ক্রিপ্ট অবজেক্টকে JSON পাঠ্যে পরিণত করে এবং JSON পাঠ্যটিকে স্ট্রিংয়ে সঞ্চয় করে।

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

JSON.parse JSON পাঠ্যের একটি স্ট্রিং জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তরিত করে।

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

var j={"name":"binchen"};

এটিকে JSON স্ট্রিং তৈরি করতে নিম্নলিখিত ব্যবহার করা যেতে পারে।

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

আরও তথ্যের জন্য আপনি নীচের এই লিঙ্কটি উল্লেখ করতে পারেন।

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify


7

স্ট্রিংফাই পদ্ধতি থেকে আমরা অদ্ভুত না হওয়া পর্যন্ত এটির জন্য একটি কাস্টম সংজ্ঞায়িত

var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
   json +=",";
}
json+="}";
document.write(json);

আউটপুট

{"name":"binchen","class":"awesome"}

লাইভ http://jsfiddle.net/mailmerohit5/y78zum6v/


উদ্ধৃতি চিহ্নগুলির সাথে স্ট্রিংগুলি
এড়ায়

1
এই কাস্টম কোডটি খুব অসম্পূর্ণ। অ্যারে, অবজেক্টস এবং বিশেষ অক্ষরগুলি সমর্থন করে না। উদাহরণ: json j "আরার": ["1", "2", "3"], "আপত্তি": \\ "এ": "বি"}, "কী \" সহ \\ বিশেষ} অক্ষর: " মান "}" আউটপুট {"আরার": "1,2,3", "আপত্তি": "[অবজেক্ট অবজেক্ট]", "কী" সাথে \ বিশেষ} অক্ষর ":" মান "} যে ভুল!
ম্যানুয়েল রোমেরো

7

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

var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
    MyObjectStringify += JSON.stringify(j[x]);
    count++;
    if (count < last)
        MyObjectStringify += ",";
}
MyObjectStringify += "]}";

মাইওবজেক্ট স্ট্রিংফাইটি আপনাকে আপনার স্ট্রিং প্রতিনিধিত্ব দেবে (ঠিক যেমন এই থ্রেডে অন্যান্য বার উল্লিখিত হয়েছে) যদি আপনার কোনও বড় অবজেক্ট থাকে তবে এটিরও কাজ করা উচিত - আপনার প্রয়োজনের সাথে মানিয়ে নিতে আপনি এটি তৈরি করেছেন তা নিশ্চিত করুন - অ্যারের চেয়ে নাম রাখার জন্য আমার এটির দরকার ছিল


5

ভোক ... ব্যবহার করা সহজ

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

ধন্যবাদ



3

আপনি যদি স্ট্রিং ফর্ম্যাটে জেসন বৈশিষ্ট্যগুলির মান পেতে চান তবে নিম্নলিখিত উপায়টি ব্যবহার করুন

var i = {"x":1}

var j = JSON.stringify(i.x);

var k = JSON.stringify(i);

console.log(j);

"1"

console.log(k);

'{"x":1}'

3

নোড জেএসে ডিবাগিংয়ের জন্য আপনি Use.inspect () ব্যবহার করতে পারেন । বিজ্ঞপ্তি রেফারেন্স সহ এটি আরও ভাল কাজ করে।

var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));

3

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

function simpleJSONstringify(obj) {
    var prop, str, val,
        isArray = obj instanceof Array;

    if (typeof obj !== "object") return false;

    str = isArray ? "[" : "{";

    function quote(str) {
        if (typeof str !== "string") str = str.toString();
        return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
    }

    for (prop in obj) {
        if (!isArray) {
            // quote property
            str += quote(prop) + ": ";
        }

        // quote value
        val = obj[prop];
        str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
        str += ", ";
    }

    // Remove last colon, close bracket
    str = str.substr(0, str.length - 2)  + ( isArray ? "]" : "}" );

    return str;
}

2
So in order to convert a js object to JSON String: 

কোনও বস্তুকে স্ট্রিংয়ে রূপান্তর করার জন্য সহজ বাক্য গঠন

JSON.stringify(value)

সম্পূর্ণ বাক্য গঠনটি হ'ল: JSON.stringify (মান [, প্রতিস্থাপনকারী [, স্থান]])

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

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/

2
আপনি যদি আপনার কোডটির একটি সংক্ষিপ্ত ব্যাখ্যা সরবরাহ করতে পারেন তবে তা দুর্দান্ত হবে।
জনি 18


আমি আমার উত্তরটি সম্পাদনা করেছি, @ রাফায়েল এবং @ জনি নির্দেশ করার জন্য আপনাকে অনেক ধন্যবাদ।
রাহুল চৌধারী

1

কেবল এ JSON.stringifyজাতীয় রূপান্তর করতে ব্যবহার করুন - তবে মনে রাখবেন যে মানগুলির ক্ষেত্রগুলি undefinedজসন-এ অন্তর্ভুক্ত হবে না

var j={"name":"binchen", "remember":undefined, "age": null };

var s=JSON.stringify(j);

console.log(s);

rememberআউটপুট জসন থেকে ক্ষেত্রটি 'অদৃশ্য' হয়ে যায়


আপনি সবেমাত্র আমার দিন বাঁচিয়েছেন। আমি আমার জিনিস সংরক্ষণ করতে সক্ষম ছিল না। যে ক্ষেত্রগুলির অপরিজ্ঞাত মান আছে তা কী জেএসনে অন্তর্ভুক্ত হবে না তা আমার সমস্যার সমাধান করেছে!
মোহাম্মদ ঘোনচেসেফিদি

0

আপনি JSON.stringify () পদ্ধতিটি JSON অবজেক্টটিকে স্ট্রিংয়ে রূপান্তর করতে ব্যবহার করতে পারেন।

var j={"name":"hello world"};
JSON.stringify(j);

এই স্ট্রিংটিকে আবার জসন অবজেক্টে রূপান্তর করতে, আপনি JSON.parse () পদ্ধতিটি ব্যবহার করতে পারেন।


0

ব্যবহার JSON.stringify(param1, param2, param3);

কি: -

প্যারাম 1 -> মানটি JSON এ রূপান্তর করতে

প্যারাম 2 -> ফাংশনটি নিজের উপায়ে স্ট্রিংফাই করতে। বিকল্পভাবে, এটি একটি সাদা তালিকা হিসাবে কাজ করে যার জন্য চূড়ান্ত জেএসওনে অন্তর্ভুক্ত করা উচিত বস্তুগুলি।

প্যারাম 3 -> একটি সংখ্যার ডেটা প্রকার যা যুক্ত করতে হোয়াইটস্পেসের সংখ্যা নির্দেশ করে। সর্বাধিক অনুমোদিত 10


0

রূপান্তর str => আপত্তি

const onePlusStr = '[{"ব্র্যান্ড": "oneplus"}, {"মডেল": "7 টি"}]';

কনট ওয়ানপিএলসওবিজে = জেএসওএন. পার্স (ওয়ানপ্লাসএসটিআর);

রূপান্তর اعتراض => str

কনট ওয়ানপিএলসঅবজটিওএসটিআর = জেএসওএন.স্ট্রিংফাই (ওয়ানপ্লাসএসটিআর);


জেএসনে পার্সিংয়ের উল্লেখসমূহ : জেএসওএন.পারস (): ক্লিক করুন
জেএসএন.স্ট্রিংফাই (): ক্লিক করুন


আপনি আরো তথ্য প্রদান করতে পারেন? রেফারেন্স ইত্যাদি
নোডেজ-নীরড

তাদেরকে JSON এর তথ্যসূত্র জাতীয় মধ্যে পার্স: JSON.parse (): w3schools.com/js/js_json_parse.asp : JSON.stringify () w3schools.com/js/js_json_stringify.asp
যশ

ধন্যবাদ, আপনি এটিকে অন্তর্ভুক্ত করার জন্য নিজের উত্তরটি সম্পাদনা করতে পারেন
নোডেজ-নার্ড

0

পদ্ধতিটি ব্যবহার করা খুব সহজ, তবে এটি মুক্তির জন্য ব্যবহার করবেন না (সম্ভাব্য সামঞ্জস্যের সমস্যার কারণে)।

আপনার পক্ষে পরীক্ষার জন্য দুর্দান্ত।

Object.prototype.toSource()

//Usage:
obj.toSource();

0

স্ট্রিংফাই ফাংশনটি ব্যবহার করুন

var j = {
"name":"binchen"
};

var j_json = JSON.stringify(j);

console.log("j in json object format :", j_json);

শুভ কোডিং !!!


0
//use JSON.stringify({})

কনস্ট স্ট্রিংয়েড = JSON.stringify ({}) // পাস অবজেক্ট আপনি স্ট্রিং ফর্ম্যাটে রূপান্তর করতে চান


-1

এটা ব্যবহার কর,

var j={"name":"binchen"};
 var myJSON = JSON.stringify(j);

-24

যদি আপনার কাছে জসন স্ট্রিং থাকে এবং এটি [] এর সাথে আবৃত না থাকে তবে প্রথমে এটিকে আবদ্ধ করুন

var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);

অথবা

var jsonobj = eval('(' + str + ')');
console.log(jsonobj);

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

1
আপনি প্রশ্নের বিপরীতে কাজ করেছেন .. আপনার JSON.stringfy () ফাংশনটি ব্যবহার করা উচিত
হার্ডিক প্যাটেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.