Baseline Widely available
СводкаÐеÑод JSON.stringify()
возвÑаÑÐ°ÐµÑ JavaScript-знаÑение, пÑеобÑазованное в JSON-ÑÑÑокÑ. Ðозможна замена знаÑений, еÑли как replacer
пеÑедана ÑÑнкÑиÑ, или вклÑÑение ÑолÑко опÑеделÑннÑÑ
ÑвойÑÑв, еÑли как replacer
Ñказан маÑÑив.
JSON.stringify(value)
JSON.stringify(value, replacer)
JSON.stringify(value, replacer, space)
ÐаÑамеÑÑÑ
value
ÐнаÑение, пÑеобÑазÑемое в ÑÑÑÐ¾ÐºÑ JSON.
replacer
ÐеобÑзаÑелÑнÑй
ÐÑли ÑвлÑеÑÑÑ ÑÑнкÑией, пÑеобÑазÑÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸ ÑвойÑÑва по Ñ
Ð¾Ð´Ñ Ð¸Ñ
пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑÑÑокÑ; еÑли ÑвлÑеÑÑÑ Ð¼Ð°ÑÑивом, опÑеделÑÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑвойÑÑв, вклÑÑаемÑÑ
в обÑÐµÐºÑ Ð² оконÑаÑелÑной ÑÑÑоке. ÐодÑобное опиÑание ÑÑнкÑии replacer
даÑÑÑÑ Ð² ÑÑаÑÑе ÐÑполÑзование Ñодного обÑекÑа JSON
ÑÑководÑÑва по JavaScript.
space
ÐеобÑзаÑелÑнÑй
ÐÐµÐ»Ð°ÐµÑ ÑезÑлÑÑÐ°Ñ ÐºÑаÑиво оÑÑоÑмаÑиÑованнÑм (ÑаÑÑÑавлÑÑ Ð¿ÑобелÑ).
ÐеÑод JSON.stringify()
пÑеобÑазÑÐµÑ Ð·Ð½Ð°Ñение в пÑедÑÑавлÑÑÑÑÑ ÐµÐ³Ð¾ ноÑаÑÐ¸Ñ JSON Ñо ÑледÑÑÑими оговоÑками:
Boolean
, Number
и String
пÑеобÑазÑÑÑÑÑ Ð² ÑооÑвеÑÑÑвÑÑÑие пÑимиÑивнÑе знаÑениÑ, в ÑооÑвеÑÑÑвии Ñ ÑÑадиÑионнÑм ÑоглаÑением о ÑеманÑике пÑеобÑазований.undefined
, ÑÑнкÑÐ¸Ñ Ð¸Ð»Ð¸ Ñимвол, вÑÑÑеÑеннÑе во вÑÐµÐ¼Ñ Ð¿ÑеобÑазованиÑ, бÑдÑÑ Ð»Ð¸Ð±Ð¾ опÑÑÐµÐ½Ñ (еÑли они Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð² обÑекÑе), либо пÑевÑаÑÐµÐ½Ñ Ð² null
(еÑли они Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð² маÑÑиве).replacer
.JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify({ x: 5, y: 6 });
// '{"x":5,"y":6}' or '{"y":6,"x":5}'
JSON.stringify([new Number(1), new String("false"), new Boolean(false)]);
// '[1,"false",false]'
// СимволÑ:
JSON.stringify({ x: undefined, y: Object, z: Symbol("") });
// '{}'
JSON.stringify({ [Symbol("foo")]: "foo" });
// '{}'
JSON.stringify({ [Symbol.for("foo")]: "foo" }, [Symbol.for("foo")]);
// '{}'
JSON.stringify({ [Symbol.for("foo")]: "foo" }, function (k, v) {
if (typeof k === "symbol") {
return "Ñимвол";
}
});
// '{}'
ÐаÑамеÑÑ space
ÐаÑамеÑÑ space
Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоÑмаÑиÑованием оÑÑÑÑпов в конеÑной ÑÑÑоке. ÐÑли он ÑиÑловой, каждÑй поÑледÑÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾ÑÑи бÑÐ´ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½ оÑÑÑÑпом из пÑобелов, колиÑеÑÑво коÑоÑÑÑ
ÑооÑвеÑÑÑвÑÐµÑ ÑÑÐ¾Ð²Ð½Ñ (вплоÑÑ Ð´Ð¾ деÑÑÑого ÑÑовнÑ). ÐÑли он ÑÑÑоковÑй, каждÑй поÑледÑÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾ÑÑи бÑÐ´ÐµÑ Ð¿ÑедваÑÑÑÑÑÑ ÑÑой ÑÑÑокой (или ÐµÑ Ð¿ÐµÑвÑми деÑÑÑÑÑ Ñимволами).
JSON.stringify({ a: 2 }, null, " ");
// '{
// "a": 2
// }'
ÐÑполÑзование Ñимвола ÑабÑлÑÑии имиÑиÑÑÐµÑ ÑÑандаÑÑное кÑаÑивое ÑоÑмаÑиÑование:
JSON.stringify({ uno: 1, dos: 2 }, null, "\t");
// веÑнÑÑ ÑÑÑокÑ:
// '{
// "uno": 1,
// "dos": 2
// }'
Ðоведение меÑода toJSON()
ÐÑли пÑеобÑазÑемÑй в ÑÑÑÐ¾ÐºÑ Ð¾Ð±ÑÐµÐºÑ Ð¸Ð¼ÐµÐµÑ ÑвойÑÑво Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ toJSON
и знаÑением ÑвойÑÑва, ÑÑÑановленнÑм в ÑÑнкÑиÑ, Ñо ÑÑÐ¾Ñ Ð¼ÐµÑод toJSON()
Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ ÑÑандаÑÑное поведение пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² JSON: вмеÑÑо пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑекÑа бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð·Ð½Ð°Ñение, возвÑаÑаемое меÑодом toJSON()
. ÐапÑимеÑ:
ÐÑедÑпÑеждение: ФÑнкÑии не ÑвлÑÑÑÑÑ Ð´Ð¾Ð¿ÑÑÑимÑми даннÑми в JSON, Ñак ÑÑо они не бÑдÑÑ ÑабоÑаÑÑ. ÐÑоме Ñого, некоÑоÑÑе обÑекÑÑ, напÑимеÑ, обÑÐµÐºÑ Date
, ÑÑанÑÑ ÑÑÑоками поÑле пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ JSON.parse()
.
var obj = {
foo: "foo",
toJSON: function () {
return "bar";
},
};
JSON.stringify(obj); // '"bar"'
JSON.stringify({ x: obj }); // '{"x":"bar"}'
ÐÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑода JSON.stringify()
вмеÑÑе Ñ localStorage
Ð ÑлÑÑае, еÑли Ð²Ñ Ñ
оÑиÑе ÑоÑ
ÑаниÑÑ Ð¾Ð±ÑÐµÐºÑ Ñаким обÑазом, ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ можно бÑло воÑÑÑановиÑÑ Ð´Ð°Ð¶Ðµ поÑле закÑÑÑÐ¸Ñ Ð±ÑаÑзеÑа, Ð¸Ð¼ÐµÐµÑ ÑмÑÑл воÑполÑзоваÑÑÑÑ ÑледÑÑÑим пÑимеÑом, демонÑÑÑиÑÑÑÑим пÑименение меÑода JSON.stringify()
:
// СоздаÑм некоÑоÑÑй обÑекÑ
var session = {
screens: [],
state: true,
};
session.screens.push({ name: "ÑкÑанÐ", width: 450, height: 250 });
session.screens.push({ name: "ÑкÑанÐ", width: 650, height: 350 });
session.screens.push({ name: "ÑкÑанÐ", width: 750, height: 120 });
session.screens.push({ name: "ÑкÑанÐ", width: 250, height: 60 });
session.screens.push({ name: "ÑкÑанÐ", width: 390, height: 120 });
session.screens.push({ name: "ÑкÑанÐ", width: 1240, height: 650 });
// ÐÑеобÑазÑем его в ÑÑÑÐ¾ÐºÑ JSON Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода JSON.stringify(),
// заÑем ÑоÑ
ÑанÑем его в localStorage под именем session
localStorage.setItem("session", JSON.stringify(session));
// ÐÑÐ¸Ð¼ÐµÑ Ñого, как можно пÑеобÑазоваÑÑ ÑÑÑокÑ, полÑÑеннÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода
// JSON.stringify() и ÑоÑ
ÑанÑннÑÑ Ð² localStorage обÑаÑно в обÑекÑ
var restoredSession = JSON.parse(localStorage.getItem("session"));
// ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ restoredSession ÑодеÑÐ¶Ð¸Ñ Ð¾Ð±ÑекÑ, коÑоÑÑй бÑл ÑоÑ
ÑанÑн
// в localStorage
console.log(restoredSession);
ÐÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑа replacer
var foo = {
foundation: "Mozilla",
model: "box",
week: 45,
transport: "car",
month: 7,
};
JSON.stringify(foo, function (key, value) {
if (typeof value === "string") {
return undefined; // ÑдалÑем вÑе ÑÑÑоковÑе ÑвойÑÑва
}
return value;
}); // '{"week":45,"month":7}'
JSON.stringify(foo, ["week", "month"]);
// '{"week":45,"month":7}', ÑоÑ
ÑанилиÑÑ ÑолÑко ÑвойÑÑва week и month
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4