[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ru/docs/Learn_web_development/Core/Scripting/JSON [Back]  [Original]

JSON - - | MDN

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

JSON

JavaScript (JSON - JavaScript Object Notation) - JavaScript. - (, , - ). , , JSON JavaScript, JSON, JSON.

: , HTML CSS, JavaScript (. First steps Building blocks) OOJS (see Introduction to objects).
: , , JSON, JSON.

In this article

, , JSON?

JSON - , JavaScript, . , JavaScript, JavaScript, () JSON.

JSON , . JavaScript, . . JavaScript JSON, .

: ( *)*, , , , ( ).

JSON , .json MIME type application/json.

JSON

, JSON , JavaScript. JSON, JavaScript - , , , . , , :

json
{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": ["Radiation resistance", "Turning tiny", "Radiation blast"]
    },
    {
      "name": "Madame Uppercut",
      "age": 39,
      "secretIdentity": "Jane Wilson",
      "powers": [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    },
    {
      "name": "Eternal Flame",
      "age": 1000000,
      "secretIdentity": "Unknown",
      "powers": [
        "Immortality",
        "Heat Immunity",
        "Inferno",
        "Teleportation",
        "Interdimensional travel"
      ]
    }
  ]
}

JavaScript, superHeroes, , , JavaScript object basics. :

js
superHeroes.homeTown;
superHeroes["active"];

, . , , , :

js
superHeroes["members"][1]["powers"][2];
  1. - superHeroes.
  2. members, ['members'].
  3. members , . , [1].
  4. powers, ['powers'].
  5. powers , . , [2].

: JSON, , JSONTest.html (. ). , JavaScript .

JSON

, JSON JavaScript , ., , JSON :

json
[
  {
    "name": "Molecule Man",
    "age": 29,
    "secretIdentity": "Dan Jukes",
    "powers": ["Radiation resistance", "Turning tiny", "Radiation blast"]
  },
  {
    "name": "Madame Uppercut",
    "age": 39,
    "secretIdentity": "Jane Wilson",
    "powers": [
      "Million tonne punch",
      "Damage resistance",
      "Superhuman reflexes"
    ]
  }
]

JSON. ( ), , [0]["powers"][0].

  • JSON - - , .
  • JSON , . .
  • JSON- . , , ( JSON , ). JSON JSONLint.
  • JSON , JSON, . , , JSON.
  • JavaScript, , JSON .

: JSON

, , , JSON -.

heroes.html style.css. CSS , HTML- :

html
<header></header>

<section></section>

<script>, JavaScript, . , <header> <section> :

js
var header = document.querySelector("header");
var section = document.querySelector("section");

JSON GitHub, https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json.

DOM, , :

[]

JSON

JSON, API, XMLHttpRequest ( XHR). JavaScript, JavaScript (, , , JSON, HTML), , . - , , , , .

  1. , URL- JSON, . JavaScript:

    js
    var requestURL =
      "https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json";
    
  2. , XMLHttpRequest, new. :

    js
    var request = new XMLHttpRequest();
    
  3. , open(). :

    js
    request.open("GET", requestURL);
    

    - . :

    • HTTP, . GET , .
    • URL- - URL- JSON, .
  4. : responseType JSON, XHR , JSON , JavaScript. send():

    js
    request.responseType = "json";
    request.send();
    
  5. , . :

    js
    request.onload = function () {
      var superHeroes = request.response;
      populateHeader(superHeroes);
      showHeroes(superHeroes);
    };
    

( response) superHeroes; JavaScript, JSON! - <header> , <section>.

, , (. onload) - , , ; , , request.response , .

JSON JavaScript, , , . , :

js
function populateHeader(jsonObj) {
  var header = document.querySelector("header");
  var myH1 = document.createElement("h1");
  myH1.textContent = jsonObj["squadName"];
  header.appendChild(myH1);

  var myPara = document.createElement("p");
  myPara.textContent =
    "Hometown: " + jsonObj["homeTown"] + " // Formed: " + jsonObj["formed"];
  header.appendChild(myPara);
}

jsonObj, , JavaScript JSON. <h1> createElement(), textContent squadName , appendChild(). : , . , , , homeTown, formed .

, :

js
function showHeroes(jsonObj) {
  var section = document.querySelector("section");
  var heroes = jsonObj["members"];

  for (var i = 0; i < heroes.length; i++) {
    var myArticle = document.createElement("article");
    var myH2 = document.createElement("h2");
    var myPara1 = document.createElement("p");
    var myPara2 = document.createElement("p");
    var myPara3 = document.createElement("p");
    var myList = document.createElement("ul");

    myH2.textContent = heroes[i].name;
    myPara1.textContent = "Secret identity: " + heroes[i].secretIdentity;
    myPara2.textContent = "Age: " + heroes[i].age;
    myPara3.textContent = "Superpowers:";

    var superPowers = heroes[i].powers;
    for (var j = 0; j < superPowers.length; j++) {
      var listItem = document.createElement("li");
      listItem.textContent = superPowers[j];
      myList.appendChild(listItem);
    }

    myArticle.appendChild(myH2);
    myArticle.appendChild(myPara1);
    myArticle.appendChild(myPara2);
    myArticle.appendChild(myPara3);
    myArticle.appendChild(myList);

    section.appendChild(myArticle);
  }
}

members JavaScript . , .

for loop . :

  1. : <article>, <h2>, <p> <ul>.
  2. <h2>, name .
  3. secretIdentity, age , : :, .
  4. powers superPowers - , .
  5. for, , <li>, , listItem <ul> (myList) appendChild().
  6. , , <h2>, <p> <ul> <article> (myArticle), <article> <section>. , , , HTML.

: / , JavaScript, superheroes.json , , JavaScript. JavaScript objectbasics .

JavaScript, XHR- JSON JavaScript, :

js
request.responseType = "json";

- JSON . JavaScript , JSON () . , -, JSON , :

heroes-finished-json-parse.html (. ) - , , , , XHR JSON , parse(), JavaScript. :

js
request.open("GET", requestURL);
request.responseType = "text"; // now we're getting a string!
request.send();

request.onload = function () {
  var superHeroesText = request.response; // get the string from the response
  var superHeroes = JSON.parse(superHeroesText); // convert it to an object
  populateHeader(superHeroes);
  showHeroes(superHeroes);
};

, stringify() . JavaScript , :

js
var myJSON = { name: "Chris", age: "38" };
myJSON;
var myString = JSON.stringify(myJSON);
myString;

JavaScript, , , JSON, stringify() , , .

JSON , , JSON, , . - JavaScript.


Web Proxy Viewer  |  New URL  |  Original Page