JS වස්තුව JSON සංගීතයට පරිවර්තනය කරන්න


1260

මම JS හි වස්තුවක් අර්ථ දැක්වුවහොත්:

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

වස්තුව JSON බවට පරිවර්තනය කරන්නේ කෙසේද? ප්‍රතිදාන නූල විය යුත්තේ:

'{"name":"binchen"}'

65
JSON.stringify()ඔබ සොයන ක්‍රමයයි.
ගෞතම් ගෝපාලක්‍රිෂ්ණන්

11
ඔබට එය ඉගෙන ගත යුතු පළමු අවස්ථාව සෑම විටම පවතී.
ඊගන් වුල්ෆ්

JSON.stringify ද වස්තුවක් පිටපත් කිරීමට හොඳ ක්‍රමයකි
හැනා මැක්වයිග්

Answers:


1939

වර්තමාන සියලුම බ්‍රව්සර් වල ස්වදේශීය JSON සහය ඇත. එබැවින් ඔබ IE6 / 7 වැනි ප්‍රාග් or තිහාසික බ්‍රව්සර් සමඟ කටයුතු නොකරන තාක් කල් ඔබට එය පහසුවෙන් කළ හැකිය:

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


5
වැඩ කිරීම සඳහා මෙම පිටපත බාගන්නJSON.stringify(j);
AabinGunz

2
නෝඩ් එකම එන්ජිමක් භාවිතා කරන නිසා නෝඩ්ජස් මත වැඩ කරන්න
ජෝර්ජෙල්විව්

26
මෙම පිළිතුර IE9 නිකුත් කිරීමට වසරකට පෙර පළ කරන ලදි, එබැවින් IE8 ලිවීමේදී ඇත්ත වශයෙන්ම නවීන බ්‍රව්සරයක් විය, නැතහොත් අවම වශයෙන් එය ලබා ගත හැකි නවතම IE විය.
ඇන්ඩ්‍රිස්

JSON.stringify කැදැලි වස්තු පරිවර්තනය නොකරයි. ඒ සඳහා ඕනෑම විසඳුමක් .. ??
රිටේෂ්

10
ඔබට තවත් කියවිය හැකි json string අවශ්‍ය නම් ඔබට අවකාශ පරාමිතිය භාවිතා කළ හැකියvar formattedJSON = JSON.stringify(j, null, 2);
Jacek Gzel

111

සමග 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 වේ ඔබ තවමත් භාවිතා කිරීමට අවශ්ය නිසා නම්, විකල්ප spaceසඳහා ඔබ arg nullසඳහා replacer. ලස්සන මුද්‍රණය සඳහා මෙම ශ්‍රිතය භාවිතා කිරීමට ඔබ කැමති නම්, මෙම පිළිතුර ද ප්‍රයෝජනවත් බව මට පෙනී ගියේය: stackoverflow.com/a/7220510/857209
ග්ලෙන් ලෝරන්ස්

ප්‍රතිස්ථාපනය යනු කුමක්ද?
හැනා මැක්වයිග්

34

තෝමස් ෆ්‍රෑන්ක් විසින් යාවත්කාලීන කළ / වඩා හොඳ ක්‍රමයක් බලන්න:

2008 මැයි 17 යාවත්කාලීන කිරීම: කුඩා සනීපාරක්ෂක යන්ත්‍රය toObject- ක්‍රමයට එකතු කරන ලදි. දැන් toObject () හි කිසියම් අනිෂ්ට කේතයක් සොයාගත හොත් එය ඉවත් නොවනු ඇත. ඊටත් වඩා ආරක්ෂාව සඳහා: ඇතුළත් කිරීමේ ධජය සත්‍ය ලෙස සකසන්න එපා.

JSON සංකල්පයේ පියා වන ඩග්ලස් ක්‍රොක්ෆර්ඩ්, ජාවාස්ක්‍රිප්ට් සඳහා පළමු සංගීත භාණ්ඩයක් ලිවීය. පසුව ට්‍රිම් පාත් හි ස්ටීව් යෙන් විසින් කලක් තිස්සේ භාවිතා කරන ලද වැඩිදියුණු කළ අනුවාදයක් ලිවීය. මම ඔබ සමඟ බෙදා ගැනීමට කැමති ස්ටීව්ගේ අනුවාදයේ මගේ වෙනස්කම් ය. මූලික වශයෙන් ඔවුන් පැන නැගුනේ ස්ට්‍රිෆයර් සෑදීමේ මගේ පැතුමෙනි:

  • චක්‍රීය යොමු හැසිරවීම සහ ප්‍රතිස්ථාපනය කිරීම
  • කාර්යයන් / ක්‍රම සඳහා ජාවාස්ක්‍රිප්ට් කේතය ඇතුළත් කරන්න (විකල්පයක් ලෙස)
  • අවශ්‍ය නම් වස්තු සාමාජිකයින් Object.prototype වෙතින් බැහැර කරන්න.

24

JSON වස්තුව String බවට පරිවර්තනය කිරීම සඳහා ඔබට JSON.stringify () ක්‍රමය භාවිතා කළ හැකිය .

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

ප්‍රතිලෝම ක්‍රියාවලිය සඳහා, ඔබට JSON String JSON Object බවට පරිවර්තනය කිරීමට JSON.parse () ක්‍රමය භාවිතා කළ හැකිය .


ප්‍රතිලෝම ක්‍රියාවලිය එකතු කිරීම ගැන ස්තූතියි.
ඩේවිඩ් ලැවියරි

12

JSON.stringify(j, null, 4) ඔබට අලංකාර කිරීම අවශ්‍ය නම් ඔබට අලංකාර JSON ලබා දෙනු ඇත

දෙවන පරාමිතිය ප්‍රතිස්ථාපකය වේ. එය පෙරහන් ලෙස භාවිතා කළ හැකි අතර එහිදී ඔබට යම් යම් ප්‍රධාන අගයන් පෙරහන් කළ හැකිය. ශුන්‍ය ලෙස සකසා ඇත්නම් එය සියලු යතුරු අග යුගල ලබා දෙනු ඇත


11

කෝණික ජේඑස් හි

angular.toJson(obj, pretty);

obj: JSON වෙත අනුක්‍රමික කිරීමට ආදානය.

ලස්සන (අත්‍යවශ්‍ය නොවේ):
සත්‍ය ලෙස සකසා ඇත්නම්, JSON ප්‍රතිදානයේ නව රේඛා සහ සුදු අවකාශය අඩංගු වේ. පූර්ණ සංඛ්‍යාවක් ලෙස සකසා ඇත්නම්, JSON ප්‍රතිදානයේ එක් ඉන්ඩෙන්ටේෂන් එකකට වැඩි ඉඩ ප්‍රමාණයක් අඩංගු වේ.

(පෙරනිමි: 2)



9

JSON.stringify ජාවාස්ක්‍රිප්ට් වස්තුවක් JSON පෙළ බවට හරවා එම JSON පා string ය නූලක ගබඩා කරයි.

පරිවර්තනය යනු සංගීතයට වස්තුවකි

JSON.parse JSON පෙළක් ජාවාස්ක්‍රිප්ට් වස්තුවක් බවට පත් කරයි.

පරිවර්තනය යනු වස්තුවකට නූලකි

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

එය JSON String එකක් බවට පත් කිරීම සඳහා පහත දැක්වෙන දෑ භාවිතා කළ හැකිය.

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
උපුටා දැක්වීමේ ලකුණු සහිත නූල් වලින් ගැලවෙන්නේ නැත: "a \"
නූලක

2
එම අභිරුචි කේතය ඉතා අසම්පූර්ණයි. අරා, වස්තු සහ විශේෂ අක්ෂර සඳහා සහය නොදක්වයි. උදාහරණය: json arr "arr": ["1", "2", "3"], "obj": {"a": "b"}, "key \" with \\} විශේෂ} අක්ෂර ":" අගය "output ප්‍රතිදානය කරනු ඇත ar" අර ":" 1,2,3 "," ඕබ් ":" [වස්තු වස්තුව] ", key විශේෂ} අක්ෂර සහිත" යතුර ":" අගය "} එය වැරදිය!
මැනුවෙල් රොමෙයිරෝ

ofcourse මෙම කේතය කේත සමඟ සෙල්ලම් කිරීම සඳහා උදාහරණයක් පමණි .. අප සැමවිටම දැඩි ලෙස භාවිතා කළ යුතුය ... ජේඑස් දැනටමත් අප වෙනුවෙන් එම කාර්යය කර ඇත
රෝහිත් කුමාර්

7

මතක ශක්තියෙන් ඉවතට යාමේ ගැටළු මා සතුව ඇති අතර වෙනත් විසඳුම් ක්‍රියා කරන බවක් නොපෙනුණි (අවම වශයෙන් මට ඒවා වැඩට ගැනීමට නොහැකි විය) එනම් මම මෙම ත්‍රෙඩ් එකේ පැකිලෙන විට ය. රෝහිත් කුමාර්ට ස්තූතියි මම මගේ විශාල JSON වස්තුව හරහා එය කඩා වැටීමෙන් වලක්වා ගන්නවා

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 += "]}";

MyObjectStringify මඟින් ඔබට විශාල වස්තුවක් තිබේ නම් හැර, ඔබේ සංගීත නිරූපණය (මෙම ත්‍රෙඩ් එකේ වෙනත් වේලාවක සඳහන් කර ඇති පරිදි) ලබා දෙනු ඇත, මෙයද ක්‍රියාත්මක විය යුතුය - ඔබේ අවශ්‍යතාවයට සරිලන පරිදි ඔබ එය ගොඩනඟා ඇති බවට වග බලා ගන්න - මට එය අවශ්‍ය වූයේ අරාවට වඩා නමක් තිබිය යුතුය


6

අවදි වීම ... භාවිතා කිරීමට පහසුය

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

ස්තූතියි


3

ඔබට මේ ආකාරයට ස්වදේශීය ස්ට්‍රිංෆයි ශ්‍රිතය භාවිතා කළ හැකිය

const j={ "name": "binchen" }

/** convert json to string */
const jsonString = JSON.stringify(j)

console.log(jsonString) // {"name":"binchen"}


3

ඔබට json ගුණාංග අගය නූල් ආකෘතියෙන් ලබා ගැනීමට අවශ්‍ය නම් පහත දැක්වෙන ක්‍රමය භාවිතා කරන්න

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

නෝඩ් ජේඑස් හි නිදොස්කරණය සඳහා ඔබට util.inspect () භාවිතා කළ හැකිය . එය රවුම් යොමු සමඟ වඩා හොඳින් ක්‍රියා කරයි.

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

3

දැනට පවතින JSON ආදේශන මට ඕනෑවට වඩා වැඩිය, එබැවින් මම මගේම කාර්යයක් ලිවීමි. මෙය ක්‍රියාත්මක වන බවක් පෙනේ, නමුත් මට අද්දර අවස්ථා කිහිපයක් මග හැරී ඇත (මගේ ව්‍යාපෘතියේ එය සිදු නොවේ). ස්වයං-සාදන ලද දත්ත සඳහා පමණක්, පෙර පැවති ඕනෑම වස්තුවක් සඳහා ක්‍රියා නොකරනු ඇත.

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
ඔබේ කේතය පිළිබඳ කෙටි පැහැදිලි කිරීමක් සැපයිය හැකි නම් එය ඉතා හොඳ වේ.
ජොනී

මෙය ප්‍රශ්නයට පිළිතුරක් සපයන්නේ නැත. ඔබට ප්‍රමාණවත් කීර්තියක් ලැබීමෙන් පසු ඔබට ඕනෑම තනතුරක් පිළිබඳව අදහස් දැක්වීමට හැකි වනු ඇත ; ඒ වෙනුවට, අසන්නාගෙන් පැහැදිලි කිරීමක් අවශ්‍ය නොවන පිළිතුරු සපයන්න . - සමාලෝචනයෙන්
රෆායෙල්

මම මගේ පිළිතුර සංස්කරණය කර ඇත්තෙමි, @ රෆායෙල් සහ ony ජොනී පෙන්වා දුන් ඔබට බොහෝම ස්තූතියි.
රාහුල් චෞද්රි

1

JSON.stringifyඑවැනි පරිවර්තනයක් කිරීමට පමණක් භාවිතා කරන්න - කෙසේ වෙතත් undefinedවටිනාකමක් ඇති ක්ෂේත්‍ර json වෙත ඇතුළත් නොවන බව මතක තබා ගන්න

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

var s=JSON.stringify(j);

console.log(s);

rememberප්‍රතිදානය json වෙතින් ක්ෂේත්‍රය 'අතුරුදහන්' වේ


ඔයා මගේ දවස බේරුවා. මගේ වස්තුව සුරැකීමට මට නොහැකි විය. නිර්වචනය නොකළ වටිනාකමක් ඇති ක්ෂේත්‍ර json තුළට ඇතුළත් නොවන යතුර මගේ ගැටලුව විසඳීය!
මොහොමඩ් ගොන්චෙස්ෆිඩි

0

JSON වස්තුව String බවට පරිවර්තනය කිරීම සඳහා ඔබට JSON.stringify () ක්‍රමය භාවිතා කළ හැකිය.

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

මෙම නූල නැවත json වස්තුව බවට පරිවර්තනය කිරීම සඳහා, ඔබට JSON.parse () ක්‍රමය භාවිතා කළ හැකිය.


0

භාවිත JSON.stringify(param1, param2, param3);

මොකක්ද: -

param1 -> JSON බවට පරිවර්තනය කිරීමේ අගය

param2 -> ඔබේම ආකාරයෙන් දැඩි කිරීමට ක්‍රියා කරන්න. විකල්පයක් ලෙස, එය අවසාන JSON හි වස්තු ඇතුළත් කළ යුතු සුදු ලැයිස්තුවක් ලෙස සේවය කරයි.

param3 -> එකතු කළ යුතු සුදු අවකාශ ගණන දැක්වෙන සංඛ්‍යා දත්ත වර්ගයකි. අවසර දී ඇති උපරිම ප්‍රමාණය 10 කි.


0

පරිවර්තනය str => obj

const onePlusStr = '[{"සන්නාමය": "oneplus"}, model "ආකෘතිය": "7T"}]';

const onePLusObj = JSON.parse (onePlusStr);

පරිවර්තනය obj => str

const onePLusObjToStr = JSON.stringify (onePlusStr);

JS දී මාණකරනය ක්රියාත්මක JSON ක යොමුව:
JSON.parse (): ක්ලික් කරන්න
JSON.stringify (): ක්ලික්


JS හි JSON විග්‍රහ කිරීම පිළිබඳ යොමුව: JSON.parse (): w3schools.com/js/js_json_parse.asp JSON.stringify (): w3schools.com/js/js_json_stringify.asp
yash

0

ක්‍රමවේදය භාවිතා කිරීම ඉතා පහසුය, නමුත් එය මුදා හැරීමේදී භාවිතා නොකරන්න (අනුකූලතා ගැටලු නිසා).

ඔබේ පැත්තේ පරීක්ෂා කිරීම සඳහා විශිෂ්ටයි.

Object.prototype.toSource()

//Usage:
obj.toSource();

0

Stringify ශ්‍රිතය භාවිතා කරන්න

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

var j_json = JSON.stringify(j);

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

සුබ කේතීකරණයක් !!!


0
//use JSON.stringify({})

const stringified = JSON.stringify ({}) // පාස් වස්තුව ඔබට නූල් ආකෘතියෙන් පරිවර්තනය කිරීමට අවශ්‍යය




-24

ඔබට json නූලක් තිබේ නම් සහ එය [] සමඟ ඔතා නොමැති නම් පළමුව එය ඔතාගන්න

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

හෝ

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

OP අනෙක් පැත්තට යාමට උත්සාහ කරයි. ඔබේ ප්‍රශ්නය ඔහුට JSON නූලක් ඇති අතර එය වස්තුවක් ලෙස ලබා ගැනීමට අවශ්‍ය ප්‍රතිලෝම නඩුවට පිළිතුරු සපයයි.
ජෝෂුවා ස්නයිඩර්

1
ඔබ ප්‍රශ්න කිරීමට ප්‍රතිලෝම දෙයක් කර ඇත .. ඔබ JSON.stringfy () ශ්‍රිතය භාවිතා කළ යුතුය
හාඩික් පටෙල්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.