Files
json/index.html

118 satır
4.4 KiB
HTML
Ham Suçlama Geçmiş

Bu dosya muğlak Evrensel Kodlu karakter içeriyor

Bu dosya, başka karakterlerle karıştırılabilecek evrensel kodlu karakter içeriyor. Eğer bunu kasıtlı olarak yaptıysanız bu uyarıyı yok sayabilirsiniz. Gizli karakterleri göstermek için Kaçış Karakterli düğmesine tıklayın.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>json</title>
<style>
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}
body {
height: 100vh;
width: 100vw;
}
</style>
</head>
<body>
<script>
var мир = {};
мир.строкаПути = function(п) {
function вСтроку(ключ) {
return `["${ключ}"]`;
}
return "мир" + п.map(вСтроку).join("") + " = ";
};
мир.создатьПуть = function(путь) {
var уровень = мир;
var длина = путь.length;
for (var i = 0; i < длина; ++i)
{
var п = путь[i];
if (!уровень[п])
{
уровень[п] = {};
};
}
};
мир.разобрать = function(словарь, путь = []) {
for (ключ in словарь)
{
var внутреннийПуть = путь.slice();
внутреннийПуть.push(ключ);
var значение = словарь[ключ];
мир.создатьПуть(внутреннийПуть);
if (typeof значение === "string")
{
// Функция.
if (значение.startsWith("function"))
{
var содержимое = мир.строкаПути(внутреннийПуть) + значение;
eval(содержимое);
}
// Строка.
else
{
var содержимое = мир.строкаПути(внутреннийПуть) + '"' + значение + '"';
eval(содержимое);
}
}
// Вложенный объект/слоарь.
else if (значение === Object(значение))
{
мир.разобрать(значение, внутреннийПуть);
}
// Неизвестное.
else
{
console.error("неизвестная пара ключ/значение", ключ, значение);
}
}
};
var json1 = {};
json1.вывести = function(аргумент) {
console.debug('выводим аргумент:', аргумент);
}.toString();
json1.пример = function(аргумент) {
мир.вывести("уга");
console.debug("функция-пример исполнена. аргумент:", аргумент);
}.toString();
json1.набор = {
проба: function() {
console.debug("это проба");
}.toString(),
простоСтрока: "уппамам",
глубже: {
ещё: {
/*
функция9на12: function(аргумент) {
console.debug("функция9на12", аргумент);
}.toString(),
опятьСтрока: "ого",
*/
},
},
};
json2 = JSON.stringify(json1);
console.debug("2", json2);
var json3 = JSON.parse(json2);
console.debug("3", json3);
мир.разобрать(json3);
console.debug("мир.пример", мир.пример);
мир.пример(123);
мир.вывести(77);
console.debug("мир", мир);
</script>
</body>
</html>