Přejít na hlavní obsah

Jak přenést json do konzole js

JavaScript Object Notation (JSON) je jedním z nejoblíbenějších datových formátů používaných ke sdílení informací. JSON je textový formát, který usnadňuje čtení a zápis dat, a to jak pro počítače, tak pro lidi. V JavaScriptu můžete snadno převést objekty JavaScriptu na JSON a naopak.

let jsonData = < "name": "John", "age": 30 >;console.log(jsonData);

Výše uvedený kód přinese následující výsledek do konzole:

Použití metody console.log()

Nejjednodušší způsob použití metody console.log () je převod jeho řetězcové hodnoty. Například:

console.log("Привет, мир!");

Tento kód přinese do konzole zprávu " Ahoj, světe!".

let age = 25;console.log(age);

V tomto případě bude odvozena hodnota proměnné age .

let person = ;console.log(person);

V takovém případě bude vyveden celý objekt .

let a = 10;let b = 5;console.log(a, b);

V tomto případě budou vyvedeny hodnoty proměnných a A b .

Převod JSON na řetězec pomocí JSON.stringify()

Použít JSON.stringify (), musíte mu předat objekt nebo pole, které je třeba převést. Například:

let data = ;let jsonString = JSON.stringify(data);console.log(jsonString);

V důsledku toho bude proměnná jsonString obsahovat řetězec reprezentující data objektu' data ' ve formátu JSON:

Všimněte si, že všechny klíče a hodnoty jsou uzavřeny ve dvojitých uvozovkách a chybí prázdná místa a odsazení. JSON.stringify () automaticky převádí data do souladu se syntaxí JSON.

JSON.stringify () může také přijmout druhou možnost - pole nebo funkci, pro přizpůsobení převodu dat.

Chcete-li například do výsledného řádku zahrnout pouze určité vlastnosti objektu, můžete pole vlastností přenést druhým parametrem:

let data = ;let jsonString = JSON.stringify(data, ["name", "age"]);console.log(jsonString);

V důsledku toho bude proměnná jsonString obsahovat řetězec představující pouze vlastnosti' name 'a' age 'objektu ' data':

Také, druhým parametrem může být funkce, která vrací převedenou hodnotu pro každou vlastnost:

let data = ;let jsonString = JSON.stringify(data, function(key, value) return value;>);console.log(jsonString);

V důsledku toho bude proměnná jsonString obsahovat řetězec, ve kterém budou všechny znaky hodnoty vlastnosti 'name' převedeny na velká písmena:

Tedy použití JSON.stringify () usnadňuje převod dat JSON na řádek v JavaScriptu, což může být užitečné v mnoha situacích.

Získání dat ze souboru JSON

Formát JSON se často používá k ukládání a přenosu dat. Čtení dat ze souboru JSON do JavaScriptu lze provést pomocí standardního objektu XMLHttpRequest nebo pomocí Fetch API.

Chcete-li číst data pomocí XMLHttpRequest, musíte vytvořit novou instanci objektu a předat mu adresu URL souboru s daty. Poté musíte zadat metodu dotazu (například GET) a odeslat dotaz. Když je požadavek úspěšný, data lze získat pomocí vlastnosti responseText. Dále lze JSON řádek rozparcelovat pomocí JSON.parse() pro získání JavaScript objektu.

let xhr = new XMLHttpRequest();xhr.open('GET', 'data.json', true);xhr.onreadystatechange = function() >;xhr.send();

Pomocí Fetch API bude kód vypadat trochu jinak. Chcete-li získat data, musíte použít funkci fetch, předat jí adresu URL datového souboru a vyvolat metodu json() pro získání objektu JavaScriptu. Data pak lze použít podle vlastního uvážení.

fetch('data.json').then(response => response.json()).then(data => console.log(data)).catch(error => console.error(error));

Obě metody fungují asynchronně, takže data ze souboru JSON budou získána v okamžiku spuštění promise, nikoli ve fázi čtení kódu.

Práce s nestandardními JSON daty

Pro práci s nestandardními JSON daty lze použít různé přístupy. Jedním ze způsobů je použití vnořených objektů a polí. Pokud je datová struktura složitou hierarchií, lze k uspořádání a ukládání informací použít vnořené objekty.

Dalším způsobem je použití polí. Pokud mají data seznam položek, můžete vytvořit pole a vyplnit jej požadovanými hodnotami. To je zvláště užitečné, když data mají proměnlivý počet prvků nebo když je třeba vzít v úvahu pořadí prvků.

Kromě toho je možné použít kombinaci vnořených objektů a polí k zobrazení nestandardních dat. Pokud mají například data vnořenou strukturu, je možné vytvořit objekt, který bude obsahovat jiné objekty nebo pole.