Beginner Topic 16 of 51 Web Development
JSON
Lightweight text format for structured data exchange.
How it works
JSON, JavaScript Object Notation, is a lightweight text format for structured data using objects with string keys, arrays, strings, numbers, booleans and null. It is language independent, human readable and the dominant format for web APIs and configuration. JSON.stringify converts a value to text and JSON.parse converts text back. Keys must be double-quoted strings, and comments and trailing commas are not allowed.
Step-by-step walkthrough
- Data in memory is a JavaScript object.
- stringify turns it into text.
- The text is sent over the network or saved.
- The receiver parses it back.
- JSON supports objects, arrays, strings, numbers, booleans and null.
Where it is used
REST API requests and responses, configuration files, data exchange between services, storing documents in NoSQL databases and logging structured events use JSON.
Common pitfall
It has no date type, so dates travel as strings, and large integers beyond 2 to the power 53 lose precision in JavaScript. Parsing untrusted JSON needs error handling, since malformed input throws. Cyclic structures cannot be stringified. Verbose repetition of keys costs bandwidth, so use compression or binary formats like Protocol Buffers for heavy traffic. Validate with schemas.
Where it fits in the course
JSON is topic 16 of 51 in Web Development, rated Beginner. It follows Fetch API. The next topic is Browser DevTools.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Web Development quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Web Development quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is JSON?
Where do people use JSON?
What is the most common mistake with JSON?
What should I learn before this topic?
How can I practice it?
Is JSON hard to learn?
How long does it take to learn JSON?
Which topics are related to JSON?
What should I study after JSON?
Related topics
- Fetch API (Web Development)
- Browser DevTools (Web Development)
- Events (Web Development)
- Asynchronous JavaScript (Web Development)