මම JS හි වස්තුවක් අර්ථ දැක්වුවහොත්:
var j={"name":"binchen"};
වස්තුව JSON බවට පරිවර්තනය කරන්නේ කෙසේද? ප්රතිදාන නූල විය යුත්තේ:
'{"name":"binchen"}'
මම JS හි වස්තුවක් අර්ථ දැක්වුවහොත්:
var j={"name":"binchen"};
වස්තුව JSON බවට පරිවර්තනය කරන්නේ කෙසේද? ප්රතිදාන නූල විය යුත්තේ:
'{"name":"binchen"}'
Answers:
වර්තමාන සියලුම බ්රව්සර් වල ස්වදේශීය JSON සහය ඇත. එබැවින් ඔබ IE6 / 7 වැනි ප්රාග් or තිහාසික බ්රව්සර් සමඟ කටයුතු නොකරන තාක් කල් ඔබට එය පහසුවෙන් කළ හැකිය:
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
var formattedJSON = JSON.stringify(j, null, 2);
සමග 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.
replacer
වේ ඔබ තවමත් භාවිතා කිරීමට අවශ්ය නිසා නම්, විකල්ප space
සඳහා ඔබ arg null
සඳහා replacer
. ලස්සන මුද්රණය සඳහා මෙම ශ්රිතය භාවිතා කිරීමට ඔබ කැමති නම්, මෙම පිළිතුර ද ප්රයෝජනවත් බව මට පෙනී ගියේය: stackoverflow.com/a/7220510/857209
තෝමස් ෆ්රෑන්ක් විසින් යාවත්කාලීන කළ / වඩා හොඳ ක්රමයක් බලන්න:
2008 මැයි 17 යාවත්කාලීන කිරීම: කුඩා සනීපාරක්ෂක යන්ත්රය toObject- ක්රමයට එකතු කරන ලදි. දැන් toObject () හි කිසියම් අනිෂ්ට කේතයක් සොයාගත හොත් එය ඉවත් නොවනු ඇත. ඊටත් වඩා ආරක්ෂාව සඳහා: ඇතුළත් කිරීමේ ධජය සත්ය ලෙස සකසන්න එපා.
JSON සංකල්පයේ පියා වන ඩග්ලස් ක්රොක්ෆර්ඩ්, ජාවාස්ක්රිප්ට් සඳහා පළමු සංගීත භාණ්ඩයක් ලිවීය. පසුව ට්රිම් පාත් හි ස්ටීව් යෙන් විසින් කලක් තිස්සේ භාවිතා කරන ලද වැඩිදියුණු කළ අනුවාදයක් ලිවීය. මම ඔබ සමඟ බෙදා ගැනීමට කැමති ස්ටීව්ගේ අනුවාදයේ මගේ වෙනස්කම් ය. මූලික වශයෙන් ඔවුන් පැන නැගුනේ ස්ට්රිෆයර් සෑදීමේ මගේ පැතුමෙනි:
- චක්රීය යොමු හැසිරවීම සහ ප්රතිස්ථාපනය කිරීම
- කාර්යයන් / ක්රම සඳහා ජාවාස්ක්රිප්ට් කේතය ඇතුළත් කරන්න (විකල්පයක් ලෙස)
- අවශ්ය නම් වස්තු සාමාජිකයින් Object.prototype වෙතින් බැහැර කරන්න.
JSON වස්තුව String බවට පරිවර්තනය කිරීම සඳහා ඔබට JSON.stringify () ක්රමය භාවිතා කළ හැකිය .
var j={"name":"binchen"};
JSON.stringify(j)
ප්රතිලෝම ක්රියාවලිය සඳහා, ඔබට JSON String JSON Object බවට පරිවර්තනය කිරීමට JSON.parse () ක්රමය භාවිතා කළ හැකිය .
JSON.stringify(j, null, 4)
ඔබට අලංකාර කිරීම අවශ්ය නම් ඔබට අලංකාර JSON ලබා දෙනු ඇත
දෙවන පරාමිතිය ප්රතිස්ථාපකය වේ. එය පෙරහන් ලෙස භාවිතා කළ හැකි අතර එහිදී ඔබට යම් යම් ප්රධාන අගයන් පෙරහන් කළ හැකිය. ශුන්ය ලෙස සකසා ඇත්නම් එය සියලු යතුරු අග යුගල ලබා දෙනු ඇත
කෝණික ජේඑස් හි
angular.toJson(obj, pretty);
obj: JSON වෙත අනුක්රමික කිරීමට ආදානය.
ලස්සන (අත්යවශ්ය නොවේ):
සත්ය ලෙස සකසා ඇත්නම්, JSON ප්රතිදානයේ නව රේඛා සහ සුදු අවකාශය අඩංගු වේ. පූර්ණ සංඛ්යාවක් ලෙස සකසා ඇත්නම්, JSON ප්රතිදානයේ එක් ඉන්ඩෙන්ටේෂන් එකකට වැඩි ඉඩ ප්රමාණයක් අඩංගු වේ.
(පෙරනිමි: 2)
ඔබ AngularJS භාවිතා කරන්නේ නම්, 'json' පෙරණය එය කළ යුතුය:
<span>{{someObject | json}}</span>
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
මේ සඳහා නිර්වචනය කර ඇති එක් චාරිත්රයක්, අපි දැඩි ක්රමයෙන් අමුතු දෙයක් කරන තුරු
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"}
මතක ශක්තියෙන් ඉවතට යාමේ ගැටළු මා සතුව ඇති අතර වෙනත් විසඳුම් ක්රියා කරන බවක් නොපෙනුණි (අවම වශයෙන් මට ඒවා වැඩට ගැනීමට නොහැකි විය) එනම් මම මෙම ත්රෙඩ් එකේ පැකිලෙන විට ය. රෝහිත් කුමාර්ට ස්තූතියි මම මගේ විශාල 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 මඟින් ඔබට විශාල වස්තුවක් තිබේ නම් හැර, ඔබේ සංගීත නිරූපණය (මෙම ත්රෙඩ් එකේ වෙනත් වේලාවක සඳහන් කර ඇති පරිදි) ලබා දෙනු ඇත, මෙයද ක්රියාත්මක විය යුතුය - ඔබේ අවශ්යතාවයට සරිලන පරිදි ඔබ එය ගොඩනඟා ඇති බවට වග බලා ගන්න - මට එය අවශ්ය වූයේ අරාවට වඩා නමක් තිබිය යුතුය
අවදි වීම ... භාවිතා කිරීමට පහසුය
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
ස්තූතියි
ඔබට මේ ආකාරයට ස්වදේශීය ස්ට්රිංෆයි ශ්රිතය භාවිතා කළ හැකිය
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
ඔබට 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}'
නෝඩ් ජේඑස් හි නිදොස්කරණය සඳහා ඔබට util.inspect () භාවිතා කළ හැකිය . එය රවුම් යොමු සමඟ වඩා හොඳින් ක්රියා කරයි.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
දැනට පවතින 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;
}
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"}"*/
JSON.stringify
එවැනි පරිවර්තනයක් කිරීමට පමණක් භාවිතා කරන්න - කෙසේ වෙතත් undefined
වටිනාකමක් ඇති ක්ෂේත්ර json වෙත ඇතුළත් නොවන බව මතක තබා ගන්න
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
remember
ප්රතිදානය json වෙතින් ක්ෂේත්රය 'අතුරුදහන්' වේ
JSON වස්තුව String බවට පරිවර්තනය කිරීම සඳහා ඔබට JSON.stringify () ක්රමය භාවිතා කළ හැකිය.
var j={"name":"hello world"};
JSON.stringify(j);
මෙම නූල නැවත json වස්තුව බවට පරිවර්තනය කිරීම සඳහා, ඔබට JSON.parse () ක්රමය භාවිතා කළ හැකිය.
භාවිත JSON.stringify(param1, param2, param3);
මොකක්ද: -
param1 -> JSON බවට පරිවර්තනය කිරීමේ අගය
param2 -> ඔබේම ආකාරයෙන් දැඩි කිරීමට ක්රියා කරන්න. විකල්පයක් ලෙස, එය අවසාන JSON හි වස්තු ඇතුළත් කළ යුතු සුදු ලැයිස්තුවක් ලෙස සේවය කරයි.
param3 -> එකතු කළ යුතු සුදු අවකාශ ගණන දැක්වෙන සංඛ්යා දත්ත වර්ගයකි. අවසර දී ඇති උපරිම ප්රමාණය 10 කි.
පරිවර්තනය 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 (): ක්ලික්
Stringify ශ්රිතය භාවිතා කරන්න
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
සුබ කේතීකරණයක් !!!
//use JSON.stringify({})
const stringified = JSON.stringify ({}) // පාස් වස්තුව ඔබට නූල් ආකෘතියෙන් පරිවර්තනය කිරීමට අවශ්යය
වඩාත්ම ජනප්රිය ක්රමය පහත දැක්වේ:
var obj = {name: "Martin", age: 30, country: "United States"};
// Converting JS object to JSON string
var json = JSON.stringify(obj);
console.log(json);
මෙය භාවිතා කරන්න,
var j={"name":"binchen"};
var myJSON = JSON.stringify(j);
ඔබට 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);
JSON.stringify()
ඔබ සොයන ක්රමයයි.