Profile picture
Scott Wlaschin @ScottWlaschin
, 11 tweets, 2 min read Read on Twitter
Introducing JSON++, with powerful new features for modern development needs.

Problem 1: JSON doesn't support the kinds of data which developers need to send over the wire:
1a) JSON++ supports many new kinds of fields, including date/time, boolean, binary data and different sizes of integer.

1b) JSON++ allows you to embed arbitrary text blocks without needing to escape everything in the block.
1c) JSON++ has comments, finally!

1d) JSON++ supports metadata for fields, used to specify e.g. the language used for a string, units of measure for numbers, etc.

1e) JSON++ enforces a standard serialization format so there is never miscommunication between client and server.
Problem 2: Validation needs to be done the same way on the client and on the server

2a) JSON++ has an associated schema definition language. The schema supports all the new types above, PLUS constraints such as regex patterns for strings and min/max for integers.
2b) JSON++ schema lets you define more complex arrangements than just a simple collection of fields. Improvements include required fields, choices, and lists with min/max length.
Problem 3: JSON documents are being stored in databases and need to be queried in a consistent manner

3a) JSON++ has a standard syntax for identifying and linking to particular sub-objects and sub-fields in large JSON documents.
3b) JSON++ has an associated SQL-like query language for querying large JSON documents.

3c) JSON++ has a standard streaming parser protocol so that large documents can be parsed without needing to load the whole thing into memory.
3d) JSON++ provides out-of-the-box support for most major relational databases, so that you can use JSON++ queries from within the database, and mix-and-match relation data and JSON++ data.
Problem 4: There are so many similar-but-different JSON schemas around. Developers need to convert between them without having to write special code.

4a) JSON++ has a declarative (code-free) tool for converting JSON data from one schema to another.
Sound awesome? Want to try it out?

JSON++ is available right now! For more information, see bit.ly/JsonPlusPlus
While I'm waiting for the hatemail to arrive, let me just plug my book!
pragprog.com/book/swdddf/do…
Amazon links here: fsharpforfunandprofit.com/books/
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Scott Wlaschin
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!