JSON Defined

Data is king. But knowing how to work with a variety of data has become even more critical. Programmers, developers, and IT professionals need to transfer populated data structures from any language to formats that are recognizable by other languages and platforms. JavaScript Object Notation (JSON) is the data exchange format that makes this possible.

JSON has become popular as a data format for developers because of its human-readable text, which is lightweight, requires less coding, and processes faster since deserialization isn’t required.

JSON Data Types and Examples

JSON can be used in JavaScript programs without any need for parsing or serializing. It’s a text-based way of representing JavaScript object literals, arrays, and scalar data.

JSON is relatively easy to read and write while also easy for software to parse and generate. It’s often used for serializing structured data and exchanging it over a network, typically between a server and web applications.

At the granular level, JSON consists of data types.

  1. Array
  2. Boolean
  3. Null
  4. Number
  5. Object
  6. String

Array

An array data type is an ordered collection of values. In JSON, array values must be of type string, number, object, array, Boolean, or null.

Example
 { "Influencers" : [ { "name" : "Jaxon", "age" : 42, "Works At" : "Tech News" } { "name" : "Miller", "age" : 35 "Works At" : "IT Day" } ] } 

Boolean

Boolean values are designated as either true or false. Boolean values aren’t surrounded by quotes and are treated as string values.

Example
 { "AllowPartialShipment" : false } 

Null

Null is an empty value. When no value is assigned to a key, it can be treated as null.

Example
 { "Special Instructions" : null } 

Number

A JSON number follow JavaScript’s double-precision floating-point format.

Example
 { "number_1" : 210, "number_2" : 215, "number_3" : 21.05, "number_4" : 10.05 } 

Object

A JSON object data type is a set of name or value pairs inserted between {} (curly braces). The keys must be strings and separated by a comma and should be unique.

Example
 { "Influencer" : { "name" : "Jaxon" , "age" : "42" , "city" , "New York" } } 

String

A string in JSON is composed of Unicode characters, with backslash (\) escaping.

Example
 { "name" : "Jones" } 

Now that JSON and its data types have been identified and described, let’s explore how they can be used.

Top Use Cases for JSON

JSON Tutorial

Explore the new functionality for working with JSON documents stored in Database.

JSON Use Cases

1.  Generating a JSON object from user-generated data

JSON is perfect for storing temporary data. For example, temporary data can be user-generated data, such as a submitted form on a website. JSON can also be used as a serialization data format for any programming language to provide a high level of interoperability.

2.  Transferring data between systems

A website database has a customer’s mailing address, but it needs to be verified via an API to ensure it’s valid. Send the address data in JSON format to the address validation service API.

3.  Configuring data for applications

When developing applications, each application needs the credentials to connect to a database as well as a log file path. The credentials and the log file path can be specified in a JSON file to be read and available.

4.  Simplifying complex data models

JSON simplifies complex documents down to the components identified as being meaningful by converting the data extraction process to a predictable and human-readable JSON file.

Why JSON Is Popular with Developers

JSON has gained momentum in API code programming and web services because it helps in faster data interchange and web service results; it also reduces the impedance mismatch between objects in the application code and their serialized representation. It’s text based and lightweight and has an easy-to-parse data format requiring no additional code for parsing. For web services, the need to return and display a lot of data makes JSON the ideal choice.

JSON Developer’s Guide

Explore the new functionality for working with JSON documents stored in Oracle Database.

Access the JSON Developer’s Guide

What Is a Document Database?

A document database is a type of nonrelational database designed to store, retrieve, and manage document-oriented information. Rather than having a schema defined upfront, document databases allow storing data in collections consisting of documents. NoSQL databases and JSON (document) databases are types of document databases. Oracle Database, a converged database, natively supports document store workloads.

Document databases are often popular among developers because they store data in a document-model format (semi-structured) rather than relational (structured). Document databases offer more flexibility than relational databases because developers don’t have to plan out the schemas ahead of time and they can use the same format they’re using in their application code. This means the careful planning of a SQL database isn’t as necessary, which makes document databases useful for rapidly evolving schemas, which can be common in software development. But this can come at the cost of speed, size, and specificity.

What Is a JSON Document Database?

Applications that use different JSON data types and JSON-oriented query language can interact with data stored in a JSON document database. JSON document databases provide native support for JSON.

The following characteristics define a JSON document database:

  • A JSON document database is a nonrelational database designed to store and query JSON documents.
  • JSON data in the database is textual, but the text can be stored using a binary format, such as the native JSON data type in Oracle Database 21c.
  • Accessing JSON data stored in the database is like accessing other database data, including using Oracle Call Interface (OCI), .NET, or Java Database Connectivity (JDBC).
  • JSON data in a JSON document database can be stored, indexed, and queried without needing a schema that defines the data.

Working with a JSON Document Database

As stated earlier, JSON is a lightweight data transfer format that sets the document exchange standard. Let’s look at how to store and manage JSON data in a JSON document database.

Storing JSON Data

Storing JSON data in a JSON document database stores the documents as is, without requiring any deserialization. With Oracle Database, you use columns whose data types are VARCHAR2, CLOB, BLOB, or Oracle’s native binary JSON data type in Oracle Database 21c. The choice of which to use is usually determined by the size of the JSON documents. Storing JSON data in the database using standard SQL data types means that JSON data can be manipulated like any other data type.

Managing JSON Data

JSON data can be managed and manipulated with tables in a JSON document database, regardless of the data type. The choice of which table to use is typically motivated by the size of the JSON documents. One of the features of Oracle Database is being able to easily replicate tables that have columns using JSON data.

Simple Oracle Document Access (SODA)

Oracle Database provides a family of SODA APIs designed to support schemaless application development. Using these APIs, developers can work with JSON documents managed by Oracle Database without needing to use SQL. SODA is supported across several platforms and languages, including REST, Java, Node.js, Python, PL/SQL, and OCI. Learn more here.

Oracle Database API for MongoDB

With Oracle Database API for MongoDB, developers can continue to build MongoDB applications on Oracle Database using MongoDB drivers, tools, and frameworks. Developers can build MongoDB applications on a laptop and deploy them on Oracle Database.

JSON Document Database Use Cases

A native JSON document database gives developers the ability to view, create, and ultimately know more.

Not only are the customers in a database identified as names and addresses, but their respective attributes can be assigned as values and appear in arrays for personalized product recommendations and more compelling engagements.

The effectiveness of JSON data depends solely on the database powering it.

Applications with more personalized experiences Deliver engaging personalized customer experiences and provide real-time recommendations on multiple digital properties.
Content and catalog management Develop content management and product catalog services that handle a wide variety of attributes and metadata.
Integrated IoT applications Create integrated applications for clickstream, monitoring, logging, and sensor systems to process millions of inserts and retrievals per second, generating new insights without compromising data accuracy.

JSON Data and Autonomous JSON Database

A JSON document database not only offers native support for JSON data types; it also allows for easy migrations, low-code development, and no changes in schema with storing and managing. Oracle Database offers native JSON and document store support for any deployment beginning with Oracle Database 19c.

But what if there was a way to make use of the benefits of Oracle Database in a serverless environment? A cloud document database makes it simple to develop JSON applications on a fully managed platform with automated provisioning, scaling, and repairing while delivering 99.95% availability.