JSON is becoming the backbone for meaningful data interchange over the internet. This format is now supported by an entire ecosystem of standards, tools, and technologies for building truly elegant, useful, and efficient applications. With this hands-on guide, author and architect Tom Marrs shows you how to build enterprise-class applications and services by leveraging JSON tooling and message/document design. JSON at Work provides application architects and developers with guidelines, best practices, and use cases, along with lots of real-world examples and code samples. You'll start with a comprehensive JSON overview, explore the JSON ecosystem, and then dive into JSON's use in the enterprise. Get acquainted with JSON basics and learn how to model JSON data Learn how to use JSON with Node.js, Ruby on Rails, and Java Structure JSON documents with JSON Schema to design and test APIs Search the contents of JSON documents with JSON Search tools Convert JSON documents to other data formats with JSON Transform tools Compare JSON-based hypermedia formats, including HAL and jsonapi Leverage MongoDB to store and access JSON documents Use Apache Kafka to exchange JSON-based messages between services
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
A hands-on guide for developers and architects who want to treat JSON as serious infrastructure—not just a data format—covering schema design, polyglot tooling, and enterprise integration patterns. Best for working programmers who already know the basics and need practical, end-to-end examples.
【Book Arc】
- **Opening (~0%–10%)**: Establishes JSON as a standard (IETF RFC 7158/7159 lineage) and walks through core syntax—objects, arrays, strings, numbers, booleans, null—plus style guidelines and validation with JSONLint.
- **Early (~10%–30%)**: Introduces the running "MyConference" example (speakers and sessions) and the "noBackEnd" architectural style, then moves through JSON in JavaScript (Node.js, Mocha/Chai, Unirest) and Ruby on Rails (MultiJson serialization, Minitest).
- **Middle (~30%–50%)**: Extends the polyglot tour into Java with Gradle project structure, Jackson ObjectMapper for (de)serialization, and building a small Spring Boot web API.
- **Late (~50%–75%)**: Shifts from language platforms to the JSON ecosystem—JSON Schema basics and tooling (JSON Editor Online, JSONSchema.net), search tools, and transform tools for converting JSON to other formats.
- **Ending (~75%–100%)**: Covers enterprise concerns: comparing hypermedia formats (HAL, jsonapi), storing and querying JSON documents in MongoDB, and exchanging JSON messages between services with Apache Kafka.
【Key Takeaways】
- **JSON is a serialization format, not a presentation format** (Opening): indentation is meaningless to producers and consumers, so formatting choices are purely cosmetic—be consistent rather than dogmatic.
- **A valid JSON document is either an object or an array** (Opening): everything else (string, number, boolean, null) appears as a value on the right side of a name/value pair, and single-quoted strings are invalid.
- **Keep JSON generation out of your domain objects** (Early): the book invokes the Single Responsibility Principle—objects shouldn't know how to render themselves as JSON, and controllers/models shouldn't be cluttered with formatting logic.
- **The same JSON concepts transfer across languages** (Early–Middle): the book deliberately repeats the speakers example in JavaScript, Ruby, and Java, showing that serialization libraries (MultiJson, Jackson) differ in API but share the same mental model.
- **Schema tooling saves enormous manual effort** (Late): generating an initial JSON Schema from a sample document with JSONSchema.net can eliminate roughly 80% of the typing, after which you refine incrementally.
- **Hypermedia formats are a design choice, not a default** (Ending): HAL and jsonapi represent competing conventions for embedding links and relationships in JSON APIs, and the book compares them rather than prescribing one.
- **JSON's enterprise role spans storage and messaging** (Ending): MongoDB handles JSON documents as a native storage model, while Apache Kafka carries JSON-based messages between services—two very different integration patterns.
- **Testing JSON APIs is part of the workflow** (Early): Mocha/Chai in Node.js and Minitest in Ruby, both using Unirest as a cross-platform HTTP client, demonstrate that API testing belongs alongside development, not after it.
【Reading Tips】
- **Deep-read the schema and hypermedia chapters** (Late–Ending): these are where the book moves from "how to parse JSON" to "how to design systems around it," which is the harder and more valuable material.
- **Skim the language-specific chapters you don't use**: if you're a Java developer, the Ruby and Node.js chapters still carry transferable lessons about serialization trade-offs, but you can move quickly through the syntax.
- **Follow the MyConference example hands-on**: the book builds one coherent application across chapters, so running the code (json-server, Gradle, Spring Boot) reinforces concepts better than reading alone.
- **Pay attention to the SOLID-principle sidebar in the Rails chapter**: it's a short but broadly applicable design lesson about where JSON logic belongs in any codebase.
- **Treat the tooling chapters as reference**: JSON Editor Online, JSONSchema.net, and similar tools are worth bookmarking rather than memorizing.
【Coverage Limits】
The excerpts cover the book's structure, opening chapters, and scattered middle/late material, but do not include detailed content from the search, transform, MongoDB, or Kafka chapters—those sections are summarized from the table of contents and blurb rather than from substantive excerpts.
Excerpt 1
4 Why JSON? 6 Core JSON 8 JSON Data Types 8 JSON Value Types 11 JSON Versions 14 JSON Comments 14 JSON File and MIME Type 14 JSON Style Guidelines 15 Our Exa...
ace, we can now invoke it from any HTTP client (e.g., Java‐ Script, Ruby, or Java) to consume the data from an external application. Although most of our exa...
P Response Body, parses it into a Ruby Hash, and returns it to the caller (inside the HTTP Response Body). This means that the Unit Test won’t be testing dir...
"tags": { "type": "array", "items": [ 150 | Chapter 5: JSON Schema When you visit http://localhost:5000/speakers in your browser, you should see the screen i...
ng further, be sure to set up your test environment. If you haven’t installed Node yet, visit Appendix A, and install Node.js (see “Install Node.js” on page...
e’ll leverage xml2js from a Node.js- based Mocha/Chai test. Rather than being concerned with a particular convention/style of conversion, focus on the follow...
lements", "email": "ester.clements@myconference.com", "tags": [ "REST", "Ruby on Rails", "APIs" "age": 29, "registered": true } } In this example, the outer...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
JSON at Work (Tom Marrs) (Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
JSON at Work (Tom Marrs) (Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment