Массив Π² строку json php: PHP: json_encode — Manual

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JSON массив Π² XML

1

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ JSON массив для прСобразования Π² XML. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ваши Π΄Π°Π½Π½Ρ‹Π΅.

2

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Excel ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ ΠΈΠ»ΠΈ Builder позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ JSON массив ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

3

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ XML.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ…

  • Excel
  • CSV
  • XML
  • HTML Π’Π°Π±Π»ΠΈΡ†Π°
  • Markdown Π’Π°Π±Π»ΠΈΡ†Π°
  • JSON массив
  • Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ SQL
  • MySQL Π’Ρ‹Π²ΠΎΠ΄ запроса
  • LaTeX Π’Π°Π±Π»ΠΈΡ†Π°
  • MediaWiki Π’Π°Π±Π»ΠΈΡ†Π°

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π½Ρ

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Fullscreen

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Follow Me

Бпонсор

Markdown
Magic
LaTeX
SQL
HTML
CSV
Excel
JSON
JSONLines
ASCII
MediaWiki
AsciiDoc
TracWiki
Qlik
DAX
Firebase
YAML
XML
Jira
Textile
reStructuredText
PHP
Ruby
ASP
ActionScript
BBCode
PDF
JPEG

ПобСг XML

ΠŸΠΎΠ±Π΅Π³Π°ΠΉΡ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символ

Minify XML

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ XML

ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт

Ряд элСмСнт

Как ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JSON массив Π² XML ΠΎΠ½Π»Π°ΠΉΠ½?

1.


Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свой JSON массив

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм прСобразоватСля JSON, поТалуйста, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш JSON находится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НаТмитС JSON ΠŸΡ€ΠΈΠΌΠ΅Ρ€ IN Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ… Panel Для просмотра дСмонстрации. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ JSONΒ» ΠΈΠ»ΠΈ пСрСтаскиваниС Ρ„Π°ΠΉΠ»Π° JSON.

2.
ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой JSON массив ΠΎΠ½Π»Π°ΠΉΠ½, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ½Π»Π°ΠΉΠ½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Excel Ρ‡Π΅Ρ€Π΅Π· Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² XML Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

3.
Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ XML

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠ·Π»ΠΎΠ² XML Π±Ρ‹Π» сгСнСрирован In Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ†ΠΈΡŽ minify XML

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’Π°ΡˆΠΈ Π΄Π°Π½Π½Ρ‹Π΅ бСзопасны, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² вашСм Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΈ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ваши Π΄Π°Π½Π½Ρ‹Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON?

.json

JSON ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΠΈ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JavaScript. Π€Π°ΠΉΠ» JSON — это тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для прСдставлСния структурированных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС синтаксиса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JavaScript.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML?

.xml

XML ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ. XML Ρ„Π°ΠΉΠ» — это язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠ°ΠΊ HTML, ΠΈ ΠΎΠ½ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для хранСния ΠΈ транспортировки Π΄Π°Π½Π½Ρ‹Ρ….

НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠ½Π»Π°ΠΉΠ½-инструмСнт для своих Π΄Ρ€ΡƒΠ·Π΅ΠΉ?

5 stars
4 stars
3 stars
2 stars
1 star

v2.4.2

  • πŸ› Fixed issues: Download pdf is not working

  • πŸ› Fixed issues: When importing SQL and inserting multiple lines, there is no space between them.

v2.4.1

  • πŸ› Fixed issues: the output of html conversion api is empty

  • πŸ›‘οΈ Escaping single quotes when converting to SQLite

  • πŸš€ Optimize TableConvert API performance

  • πŸ› Fixed issues: Noise when converting into div table

v2.4.0

  • βž• Added support for all converters to the API

  • πŸ’° Added a new paid page with additional features for users who want to upgrade

  • πŸš€ Made several performance improvements to the app

  • πŸ”’ Enhanced the security of the app by implementing several new security measures

  • πŸ“– Improved the documentation to make it easier for developers to use the API

v2.

3.6

  • βž• Added XML importer, TableConvert now supports 10 different import formats

  • πŸ’» Added the option for text alignment in the ASCII and reStructuredText Table

  • πŸ” Flipped the logic for Minify AsciiDoc table based on feedback from @Luis

v2.3.5

  • πŸ—‘οΈ Added a button to delete duplicate rows to the Table Editor

  • πŸ—‘οΈ Merge buttons to delete empty rows and columns

  • πŸ› Fixed issues: status bar in full screen mode

  • πŸ› Fixed issues: The order of the properties of the JSON object is not the same

v2.3.4

  • πŸ”§ The textarea of the Magic generator supports auto-closing brackets

  • πŸ› οΈ Optimized Magic: Supports JavaScript code and awk-like syntax

  • βž• Added MySQL Query Output data source

  • 🎁 Use backslash `\` to output `{..}` in magic converter

v2.3.3

  • πŸ› Fixed that the amount of data is less than the threshold in SQL and DAX converters

  • πŸ”— Added Line share button

  • πŸ”„ Refactor Template to Magic

  • ℹ️ Added tooltip for share button

v2.

3.2

  • πŸ” SQL generator and DAX generator support automatic inspect data type

  • βž• Added Qlik table generator, The code for Qlik inline loads can now be converted

  • βž• Added DAX table generator, The code for DAX DATATABLE can now be converted

v2.3.1

  • πŸ”¨ HTML generator: Replace the `

` tag under thead with the `` tag

  • πŸ”¨ HTML generator: Added an option to make the first column as headers

  • 🎨 Optimized UI and some experience issues

  • πŸ–₯️ The editor supports full screen switching

    v2.3.0

    • βž• XML Converter can now customize root and row elements

    • πŸ”§ Optimized options for CSV converters

    • βž• Added Firebase list converter and generator

    v2.2.3

    • Added border style option for LaTeX tables, Thanks to @Daniel for the feedback

    • Added text alignment option for LaTeX tables

    • Added bold first row option for LaTeX tables

    • Added bold first column option for LaTeX tables

    • Make tooltip for Border option of Latex converter, more intuitive effect

    v2.

    2.2

    • In the SQL converter, support «NULL» as the value of the field

    • HTML importer supports reading multiple tables at the same time

    • Fixed garbled text in PDF converter when the table contains CJK characters

    • Optimize the data source change event to support real-time rendering

    v2.2.1

    • Added statistics bar to datagrid component

    • Added Loading animation

    • Simplified notification text

    v2.2.0

    • Optimize the order of converters to fit most habits

    • Fixed the feature of importing split row or join row

    • Fixed the template syntax issue when there is an empty row

    v2.1.5

    • Fixed an issue where pdf could not be downloaded. Thanks to @lpablo611 for the feedback

    • In the SQL converter, the line-by-line insertion syntax is used by default.

      Thanks to @ffortuny for the feedback

    • Added the feature of selecting worksheets when uploading Excel. Thanks to @ffortuny for the feedback

    • Fixed some issues with importing to Excel

    v2.1.4

    • Fixed bug with AsciiDoc table converter. Thanks to @kernixski for the feedback

    • Added header and compression options to AsciiDoc table generator

    • Added «Force separate lines» option to reStructuredText table generator

    v2.1.3

    • Fixed unicode pipe character in ASCII table generator

    • Fixed the problem that the textarea does not refresh

    v2.1.2

    • Markdown converter supports setting first row as headers

    • Bold first line excludes empty strings in Markdown table generator

    • Added more ASCII plain text table generators

    • Added source code comment support to ASCII table generator

    v2.

    1.1

    • JSON converter supports parsing JavaScript objects

    • Added more language

    • Added Minimal working example (MWE) for LeTeX Table Generator

    v2.1.0

    • Deutsch language added

    • Simplified Chinese language added

    • Added i18n support

    v2.0.2

    • Force text format for Excel

    • Refactor IDEA to Template

    • Added tooltip for Converter’s Options

    v2.0.1

    • Added Jira Converter and Jira Generator

    • Added Textile Converter and Textile Generator

    v2.0

    • New design is coming, more comprehensive functions, beautiful and easy to use.

    • Support switching Dark Mode

    • Integrated DataGridXL

    • Support search and replace

    • Support switch case

    • Support drag and drop to upload files

    • Support Excel file reading, now you can convert Excel into other tables

    • Different input sources have different examples

    • More new features are waiting for you to discover

    v1.

    2.7

    • Added AsciiDoc Converter, Now you can convert the table to asciidoc code

    • Added reStructuredText Converter, Now you can convert the table to reStructuredText code

    v1.2.6

    • Focus error prompt

    • Fixed the «$» and «+» keyword of non-IDEA converters being interpreted

    • Import the JSON of a two-dimensional array without unshift

    • Automatically trim when using html importer

    • Turn off Markdown automatic escape option

    • Fixed bug not rendering keys as headers

    v1.2.5

    • Added SQL importer, you can convert create table sql and insert sql to any format

    • Added MediaWiki importer, you can convert MediaWiki table to any format now

    • Fixed convert to json if a value contains spaces, these are removed

    v1.2.4

    • Added PHP Converter, Now you can convert the table to PHP code

    • Added Ruby Converter, Now you can convert the table to Ruby code

    • Added ASP Converter, Now you can convert the table to ASP code

    • Added ActionScript Converter, Now you can convert the table to ActionScript code

    • Added BBCode Converter, Now you can convert the table to BBCode

    • Added PDF Converter, Now you can convert the table to PDF file

    • Added JPEG Converter, Now you can convert the table to Jpeg image file

    • Converter tabs now support responsive layout

    v1.

    2.3

    • Added specified import type when importing URL

    • Added the feature undo/redo、clear and transpose

    v1.2.2

    • Added export Excel in xlsx format

    • Added the feature of converting table into 2D array to JSON converter

    • Added the feature of converting table into Column array to JSON converter

    • Added the feature of converting table into Keyed array to JSON converter

    v1.2.1

    • Added `Caption`, `Label`, and `Alignment` options for LatTex converter

    • Formatted LaTex table Code

    • Added `Table name`, `Generate a create table statement` options for SQL converter

    v1.2.0

    • Added blog to record help information for this application

    • Optimized the main color to make it look comfortable

    v1.1.9

    • Added a new feature, double-click the output textarea to select all

    • Remember the selected cells when adding, deleting, and modifying the table

    • Optimize selected cell style

    v1.

    1.8

    • Fixed issue: failure when importing from JSON containing fields that are not strings

    • Added an ontion to set Markdown to use simple style table

    • Added an option to set MediaWiki table to format first row as header

    v1.1.7

    • Added an option to set Markdown to use compact mode

    • Added an option to set the Markdown table Text alignment

    • Added MediaWiki converter, now you can easily generate and edit mediawiki tables

    • Fixed issue: importing Excel and if there is no entry in a column then when that data is converted to Markdown data is shifted to left columns

    v1.1.6

    • Refactoring document page

    • Support for retaining current data when you redraw the table

    • Supports automatic saving of table data

    v1.1.5

    • Fixed issue: Javascript export CSV encoding utf-8, adding UTF-8 BOM to string

    • Beautify pages and components

    • Add LaTex converter, Support to convert LaTex to Excel, JSON, CSV, Markdown table, etc

    v1.

    1.4

    • Fixed an issue when output text table

    • Add a description for the converter, generator and editor

    • When importing data, it supports loading local json, csv, md, html and other files

    v1.1.3

    • Added quotation selector to sql output, you can choose the correct quotes according to the sql engine

    • Fixed an issue: Output sync bug

    • Added blod first row options for markdown output

    • Added center-align text options for markdown output

    v1.1.2

    • Fixed bug, Ajax falls into an infinite loop when extracting a table from a URL

    • Make loading big data smoother

    • Fixed an issue where the separator was incorrect when converting csv to a table

    • Escape special symbols are selected by default

    • Fixed an issue: Split a CSV string ignore commas within double-quotes

    v1.

    1.1

    • Added expansion and collapse features, automatically adapt data length

    • Added the ability to load data from a URL

    • Added an option to the HTMl output, now you can easily convert table to a DIV table

    • Optimized the speed of reading content from a URL

    v1.1.0

    • Added style options to text output, now support output mysql results style, reStructuredText table style and so on

    • Added escaping options for Markdown, HTML, XML, and LaTex converters

    v1.0.9

    • Added JSON converter, now support convert an array of objects to csv, markdown, excel, etc

    • Added a options button for the csv tab output, custom delimiters are now supported

    • Added minifier, now you can easily compress or minify your JSON, XML, HTML result

    v1.0.8

    • Added Template converter, you can easily design the output based on your ideas

    • Added an options button for the template tab output

    • Removed jQuery, compressed pages and improved website speed

    v1.

    0.7

    • Added table shortcuts, now you can modify the table content more easily. Thank @Yasuhiko OKADA !

    • Optimize arrow shortcuts & streamline default URLs

    v1.0.6

    • Support for initializing data via URL

    • Support table data and URL dynamic binding, now you can easily share data through URL

    v1.0.5

    • Added the ability to import tables from a URL

    • Optimize tab hover style

    v1.0.4

    • Fixed bug: Empty cell error when importing Excel

    • Support for loading examples via `window.location.hash`

    • Added a tooltip to the table editor button

    v1.0.3

    • Added LaTex and Plain Text converter

    • Fixed bug: When multiple header fields are the same, the result shows only one

    • Optimize table chooser style

    • Optimize icon color, Make it softer

    • Optimize table chooser, The x axis is row and the y axis is col

    v1.

    0.2

    • Added YAML and SQL converter

    • Optimize styles and expand available workspaces

    • Optimize color contrast

    v1.0.1

    • Added Excel converter

    • Added import capabilities. now you can convert between Excel, CSV/TSV, JSON, and Markdown

    • Auto format XML code

    • Fixed a bug in XML code generation which result error when the number in the first row of the table appears

    v1.0.0

    • Support online editing and generating tables

    • Support for creating HTML table easily

    • Support for converting HTML table to CSV/TSV, JSON, XML, HTML and Markdown table

    • Support copy to clipboard

    • Support for downloading converted result file

    • Added example button

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² JSON. Π― Π½Π°Ρ‡Π°Π» часто ΠΏΠΎΠ΄ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ, что… | by Stas Bagretsov

    7 min read

    Β·

    May 28, 2018

    Π― Π½Π°Ρ‡Π°Π» часто ΠΏΠΎΠ΄ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡƒΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с JSON Π½Π° повСрхностном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ»ΠΈ просто ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ, Π½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ опрСдСлСния ΠΈ понимания Π΅Π³ΠΎ сути ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚. Π₯отя это Π·Π½Π°Π½ΠΈΠ΅ являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² сфСрС front-end, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ.

    Π­Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ An Introduction to JSON

    πŸ‘‰ΠœΠΎΠΉ Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€ β€” Ρ‚Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΈΡ€Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌπŸ––. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно: ) ✈️

    JSON это сокращСниС ΠΎΡ‚ JavaScript Object Notation β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ· названия, JSON ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΈΠ· JavaScript, Π½ΠΎ ΠΎΠ½ доступСн для использования Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Python, Ruby, PHP ΠΈ Java, Π² англоязычным странах Π΅Π³ΠΎ Π² основном произносят ΠΊΠ°ΠΊ Jason, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ имя ДТЭйсон, Π² русскоязычных странах ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ прСимущСствСнно ставится Π½Π° β€œΠΎβ€ β€” Π”ΠΆΠΈΡΠžΠ½.

    Π‘Π°ΠΌ ΠΏΠΎ сСбС JSON ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .json. Когда ΠΆΠ΅ ΠΎΠ½ опрСдСляСтся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, ΠΊΠ°ΠΊ .html, ΠΎΠ½ появляСтся Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΊΠ°ΠΊ JSON строка ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ клиСнтской Ρ‡Π°ΡΡ‚ΡŒΡŽ, Π½Ρƒ ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ.

    Π›Π΅Π³ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ, JSON прСдставляСт собой Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ XML ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΡƒΠ΄Π° мСньшС форматирования ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ руководство ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстрСС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с JSON ΠΈ основной структурой с синтаксисом этого ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

    ΠžΠ±ΡŠΠ΅ΠΊΡ‚ JSON это Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСндСрится Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках. Когда Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с JSON, Ρ‚ΠΎ Π²Ρ‹ скорСС всСго Π²ΠΈΠ΄ΠΈΡ‚Π΅ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² .json Ρ„Π°ΠΉΠ»Π΅, Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ строка ΡƒΠΆΠ΅ Π² контСкстС самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

    Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

    {
    "first_name" : "Sammy",
    "last_name" : "Shark",
    "location" : "Ocean",
    "online" : true,
    "followers" : 987
    }

    Π₯ΠΎΡ‚ΡŒ это ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈ JSON ΠΌΠΎΠ³ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ указываСтся двумя Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядят Ρ‚Π°ΠΊ { }, Π° Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π½ΠΈΠ΅ ΡƒΠΆΠ΅ находятся ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² JSON, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

    ΠŸΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΡƒΡ‚ "key" : "value". КаТдая ΠΏΠ°Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сСрСдина JSON выглядит Ρ‚Π°ΠΊ: "key" : "value", "key" : "value", "key" : "value". Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, пСрвая ΠΏΠ°Ρ€Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ это "first_name" : "Sammy".

    ΠšΠ»ΡŽΡ‡ΠΈ Π² JSON находятся с Π»Π΅Π²ΠΎΠΉ стороны ΠΎΡ‚ двоСточия. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π² скобки, ΠΊΠ°ΠΊ с "key" ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любая строка. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΊΠ»ΡŽΡ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ строки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΊΠ°ΠΊ Π² "first_name", Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ Π½ΠΈΠΌ Π²ΠΎ врСмя процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π² Ρ‚Π°ΠΊΠΈΡ… случаях Π±ΡƒΠ΄Π΅Ρ‚ использованиС Π½ΠΈΠΆΠ½Π΅Π³ΠΎ подчСркивания, ΠΊΠ°ΠΊ сдСлано Ρ‚ΡƒΡ‚ "first_name".

    JSON значСния находятся с ΠΏΡ€Π°Π²ΠΎΠΉ стороны ΠΎΡ‚ двоСточия. Если Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…: строкой, числом, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, массивом, Π±ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ null.

    На Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, значСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΡ… слоТных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ массив. Об этом ΠΌΡ‹ расскаТСм Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

    ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСдаСтся ΠΊΠ°ΠΊ значСния Π² JSON Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ свой собствСнный синтаксис, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ строки Π±ΡƒΠ΄ΡƒΡ‚ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, Π° Ρ†ΠΈΡ„Ρ€Ρ‹ Π½Π΅Ρ‚.

    Π₯ΠΎΡ‚ΡŒ Π² .json Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, JSON Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написан Π² ΠΎΠ΄Π½Ρƒ ΡΠΏΠ»ΠΎΡˆΠ½ΡƒΡŽ строку.

    { "first_name" : "Sammy", "last_name": "Shark",  "online" : true, }

    Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСн Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с JSON строкой.

    Π Π°Π±ΠΎΡ‚Π° с JSON Π² многострочном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с большим Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ ΠΊΠ°ΠΊ JSON ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ своими элСмСнтами, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ самыми ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

    { 
    "first_name" : "Sammy",
    "last_name" : "Shark",
    "online" : true
    }

    ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ JSON Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ JavaScript, Ρ‚Π°ΠΊ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ…ΠΎΡ‚ΡŒ Π²Ρ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ значСния Π² JSON. Π‘Π°ΠΌΡ‹ΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ свойством JSON являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ языками программирования Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ практичСски всС ΠΈΠ· Π½ΠΈΡ…. JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· JavaScript.

    Пока Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ JSON Π² самых простых случаях, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ слоТным, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π² сСбя Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ массивы. БСйчас ΠΌΡ‹ пройдСмся ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ слоТному ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ JSON.

    JSON ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² JSON, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ массивам. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ массивы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ значСния Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой связку ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

    Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

    Π’ Ρ„Π°ΠΉΠ»Π΅ users.json, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ("sammy", "jesse", "drew", "jamie") Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΉ значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, со своими собствСнными Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ "username" ΠΈ "location". ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ подсвСчСн Π½ΠΈΠΆΠ΅:

    { 
    "sammy" : {
    "username" : "SammyShark",
    "location" : "Indian Ocean",
    "online" : true,
    "followers" : 987
    }
    ,
    "jesse" : {
    "username" : "JesseOctopus",
    "location" : "Pacific Ocean",
    "online" : false,
    "followers" : 432
    },
    "drew" : {
    "username" : "DrewSquid",
    "location" : "Atlantic Ocean",
    "online" : false,
    "followers" : 321
    },
    "jamie" : {
    "username" : "JamieMantisShrimp",
    "location" : "Pacific Ocean",
    "online" : true,
    "followers" : 654
    }
    }

    Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π²Π΅Π·Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для формирования Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ассоциированными ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Как ΠΈ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для раздСлСния элСмСнтов.

    Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ массивы

    Π”Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ JavaScript массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ значСния. JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [ ] для формирования массива. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΠΎ своСй сути β€” это упорядочСнныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя значСния ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большим количСством Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ сгруппированны вмСстС, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… сайтов ΠΈ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях ассоциированных с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

    Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ массив подсвСчСн:

    { 
    "first_name" : "Sammy",
    "last_name" : "Shark",
    "location" : "Ocean",
    "websites" : [
    {
    "description" : "work",
    "URL" : "https://www.digitalocean.com/"
    },
    {
    "desciption" : "tutorials",
    "URL" : "https://www.digitalocean.com/community/tutorials"
    }
    ]
    ,
    "social_media" : [
    {
    "description" : "twitter",
    "link" : "https://twitter.com/digitalocean"
    },
    {
    "description" : "facebook",
    "link" : "https://www. facebook.com/DigitalOceanCloudHosting"
    },
    {
    "description" : "github",
    "link" : "https://github.com/digitalocean"
    }
    ]
    }

    ΠšΠ»ΡŽΡ‡ΠΈ "websites" ΠΈ "social_media" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ массив для влоТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сайтах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это массивы β€” ΠΈΠ·-Π·Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок.

    ИспользованиС влоТСнности Π² нашСм JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТными ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

    XML Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ eXtensible Markup Language. Π­Ρ‚ΠΎ способ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹ ΠΊΠ°ΠΊ людьми, Ρ‚Π°ΠΊ ΠΈ машинами. Π€ΠΎΡ€ΠΌΠ°Ρ‚ XML доступСн для использования Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования.

    Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях, XML ΠΎΡ‡Π΅Π½ΡŒ схоТ с JSON, Π½ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС писанины, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡ‚Π°Π½ΠΎΠ²ΡΡΡŒ Π΄Π»ΠΈΠ½Π½Π΅Π΅ ΠΈ потрСбляя большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для чтСния ΠΈ записи. XML Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ спарсСн с XML парсСром, Π½ΠΎ JSON ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ спарсСн стандартным Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π’Π°ΠΊ ΠΆΠ΅, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ JSON, XML Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы.

    ΠœΡ‹ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ XML Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ сравним Π΅Π³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ Π² JSON.

    <users>
    <user>
    <username>SammyShark</username> <location>Indian Ocean</location>
    </user>
    <user>
    <username>JesseOctopus</username> <location>Pacific Ocean</location>
    </user>
    <user>
    <username>DrewSquir</username> <location>Atlantic Ocean</location>
    </user>
    <user>
    <username>JamieMantisShrimp</username> <location>Pacific Ocean</location>
    </user>
    </users>

    А Π²ΠΎΡ‚ это ΡƒΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON:

    {"users": [
    {"username" : "SammyShark", "location" : "Indian Ocean"},
    {"username" : "JesseOctopus", "location" : "Pacific Ocean"},
    {"username" : "DrewSquid", "location" : "Atlantic Ocean"},
    {"username" : "JamieMantisShrimp", "location" : "Pacific Ocean"}
    ] }

    Π’ΡƒΡ‚ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ JSON Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Π΅Π³ΠΎΠ² закрытия ΠΊΠ°ΠΊ Π² XML. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, XML Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с JSON.

    Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с HTML, Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ΄ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ XML выглядит ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Ρ‚Π΅Π³ΠΈ. Π₯ΠΎΡ‚ΡŒ JSON ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС писанины, Ρ‡Π΅ΠΌ XML, Π° Ρ‚Π°ΠΊΠΆΠ΅ быстрСС Π² использовании для ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ AJAX, Π²Π°ΠΌ понадобится ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅, ΠΏΠ΅Ρ€Π΅Π΄ принятиСм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” ΠΊΠ°ΠΊΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

    JSON это Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для использования ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΉ для использования Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках програмирования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… языков Π½Π° β€œIntroducing JSON”

    Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π°ΠΌ Π½Π΅ придСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый JSON, Π½ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π°Ρ‚Π° Ρ„Π°ΠΉΠ»Ρ‹ Π² JSON. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ CSV ΠΈΠ»ΠΈ табуляционныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠ°ΠΊ Exel ΠΈ Ρ‚.ΠΏ Π² JSON, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ open-source инструмСнт Mr. Data Converter. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XML Π² JSON ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π½Π° http://www.utilities-online.