CouchDB uses JavaScript Object Notation (JSON) for data storage, a lightweight format based on a subset of JavaScipt syntax. One of the best bits about JSON is that it’s easy to read and write by hand, much more so than something like XML. We can parse it naturally with JavaScript because it shares part of the same syntax. This really comes in handy when we’re building dynamic web applications and we want to fetch some data from the server.
Here’s a sample JSON document:
{
"Subject"
:
"I like Plankton"
,
"Author"
:
"Rusty"
,
"PostedDate"
:
"2006-08-15T17:30:12-04:00"
,
"Tags"
:
[
"plankton"
,
"baseball"
,
"decisions"
],
"Body"
:
"I decided today that I don't like baseball. I like plankton."
}
You can see that the general structure is based around key/value pairs and lists of things.
JSON has a number of basic data types you can use. We’ll cover them all here.
You can have positive integers: "Count":
253
Or negative integers: "Score": -19
Or floating-point numbers: "Area":
456.31
Warning
There is a subtle but important difference between
floating-point numbers and decimals. When you use a number like
15.7
, this will be interpreted as
15.699999999999999
by most clients, which may be
problematic for your application. For this reason, currency values are
usually better represented as strings in JSON. A string like
"15.7"
will be interpreted as
"15.7"
by every JSON client.
Or scientific notation: "Density":
5.6e+24
You can use strings for values:
"Author"
:
"Rusty"
You have to escape some special characters, like tabs or newlines:[3]
"poem"
:
"May I compare thee to some\n\tsalty plankton."
Get CouchDB: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.