Baseline Widely available *
СводкаÐеÑод JSON.parse()
ÑазбиÑÐ°ÐµÑ ÑÑÑÐ¾ÐºÑ JSON, возможно Ñ Ð¿ÑеобÑазованием полÑÑаемого в пÑоÑеÑÑе ÑазбоÑа знаÑениÑ.
JSON.parse(text[, reviver])ÐаÑамеÑÑÑ
text
РазбиÑÐ°ÐµÐ¼Ð°Ñ ÑÑÑока JSON. СмоÑÑиÑе докÑменÑаÑÐ¸Ñ Ð¿Ð¾ обÑекÑÑ JSON
Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑинÑакÑиÑа JSON.
reviver
ÐеобÑзаÑелÑнÑй
ÐÑли паÑамеÑÑ ÑвлÑеÑÑÑ ÑÑнкÑией, опÑеделÑÐµÑ Ð¿ÑеобÑазование полÑÑенного в пÑоÑеÑÑе ÑазбоÑа знаÑениÑ, пÑежде, Ñем оно бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑено вÑзÑваÑÑей ÑÑоÑоне.
ÐозвÑаÑÐ°ÐµÑ Ð¾Ð±ÑÐµÐºÑ Object
, ÑооÑвеÑÑÑвÑÑÑий пеÑеданной ÑÑÑоке JSON text
.
ÐÑбÑаÑÑÐ²Ð°ÐµÑ Ð¸ÑклÑÑение SyntaxError
, еÑли ÑазбиÑÐ°ÐµÐ¼Ð°Ñ ÑÑÑока не ÑвлÑеÑÑÑ Ð¿ÑавилÑнÑм JSON.
JSON.parse()
JSON.parse("{}"); // {}
JSON.parse("true"); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse("null"); // null
ÐÑимеÑ: иÑполÑзование паÑамеÑÑа reviver
ÐÑли опÑеделÑн паÑамеÑÑ reviver
, знаÑение, вÑÑиÑлÑемое пÑи ÑазбоÑе ÑÑÑоки, бÑÐ´ÐµÑ Ð¿ÑеобÑазовано пеÑед его возвÑаÑом. Ð ÑаÑÑноÑÑи, вÑÑиÑленное знаÑение и вÑе его ÑвойÑÑва (наÑÐ¸Ð½Ð°Ñ Ñ ÑамÑÑ
вложеннÑÑ
ÑвойÑÑв и конÑÐ°Ñ Ñамим знаÑением), каждое пÑоÑ
одÑÑ ÑеÑез ÑÑнкÑÐ¸Ñ reviver
, коÑоÑÐ°Ñ Ð²ÑзÑваеÑÑÑ Ñ ÐºÐ¾Ð½ÑекÑÑом this
, ÑодеÑжаÑим обÑÐµÐºÑ Ð² виде обÑабаÑÑваемого ÑвойÑÑва, и Ñ Ð°ÑгÑменÑами: именем ÑвойÑÑва в виде ÑÑÑоки и знаÑением ÑвойÑÑва. ÐÑли ÑÑнкÑÐ¸Ñ reviver
веÑнÑÑ undefined
(либо вообÑе не веÑнÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾ знаÑениÑ, напÑимеÑ, еÑли вÑполнение доÑÑÐ¸Ð³Ð½ÐµÑ ÐºÐ¾Ð½Ñа ÑÑнкÑии), ÑвойÑÑво бÑÐ´ÐµÑ Ñдалено из обÑекÑа. РпÑоÑивном ÑлÑÑае ÑвойÑÑво бÑÐ´ÐµÑ Ð¿ÐµÑеопÑеделено возвÑаÑаемÑм знаÑением.
РконеÑном иÑоге, ÑÑнкÑÐ¸Ñ reviver
вÑзÑваеÑÑÑ Ñ Ð¿ÑÑÑой ÑÑÑокой и ÑамÑм веÑÑ
ним знаÑением, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ Ð¿ÑеобÑазование Ñамого веÑÑ
него знаÑениÑ. УбедиÑеÑÑ, ÑÑо Ð²Ñ Ð¿ÑавилÑно обÑабаÑÑваеÑе ÑÑÐ¾Ñ ÑлÑÑай â обÑÑно Ð´Ð»Ñ ÑÑого нÑжно пÑоÑÑо веÑнÑÑÑ Ñамо знаÑение â или меÑод JSON.parse()
веÑнÑÑ undefined
.
JSON.parse('{"p": 5}', function (k, v) {
if (k === "") {
return v;
} // Ñамое веÑÑ
нее знаÑение - возвÑаÑаем его
return v * 2; // инаÑе возвÑаÑаем v * 2.
}); // { p: 10 }
JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', function (k, v) {
console.log(k); // пиÑем Ð¸Ð¼Ñ ÑекÑÑего ÑвойÑÑва, поÑледним именем бÑÐ´ÐµÑ ""
return v; // возвÑаÑаем неизменÑнное знаÑение ÑвойÑÑва
});
// 1
// 2
// 4
// 6
// 5
// 3
// ""
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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