<< Chapter < Page Chapter >> Page >

Viewing tip

I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view Figure 1 while you are reading about it.

Background information

JSON is an acronym for JavaScript Object Notation . Don't be fooled by the name however. Although JSON is based on JavaScript objectsyntax, it is not JavaScript nor is it any programming language. As stated earlier, JSON is simply a lightweight, text-based, language-independent datainterchange format -- nothing more and nothing less.

A lightweight text-based data interchange format

Similar to XML, JSON is a general purpose data interchange format that is supported by Java, PHP, JavaScript, and other programming languages.JSON is a standard that describes how ordered lists and unordered maps, strings, boolean values, and numbers can be represented as text in a string.

Similar to but less complex than XML, JSON provides a way to pass structured information between different computing environments using the same or different languages.

Typical operation

Typically a data construct, (such as an object for example) , in one programming environment will be transformed into a JSON string. That string willbe transported to another programming environment where it will be transformed into a data construct, (such as a hash table for example) , that is suitable for use in that programming environment

A real-world analogy

Consider the following analogous situation. A young family has a large playscape for their children in their back yard. They need to move to anotherhouse across town. In order to save money, they rent a small truck and do the entire move themselves.

A playscape object

The playscape can be thought of as an object with certain properties such as swing and slide .

It is too large to fit into the truck so the adults disassemble it into a well-organized package of boards, chains, bolts, nuts, etc. They are verycareful to label each part and to create some drawings showing the organization of the parts for use later.

No longer an object

In that disassembled state, it can no longer be thought of as an object with properties of swing and slide . Instead, it is simply a well-organized and documented package of parts. The package of parts isanalogous to a JSON string. The playscape object has been transformed into a well-organized package of parts.

Reassemble the parts

After the parts are transported to the new location, they are reassembled into an object with properties of swing and slide .

This is what we do with JSON. We disassemble an object (or other data construct) into a JSON string: a well-organized package of parts. Later on, and possibly in an entirely different programming environment, we reassemble theparts into a data construct suitable for use in the new programming environment.

Streamlined procedures

Java, JavaScript, PHP, and other programming languages provide streamlined procedures for transforming a data construct into a JSON string and fortransforming a JSON string into a suitable data construct. As an example, the toJASONString method can be used to transform a Java object of type JSONObject into a JSON string. The parse method of the Java JSONValue class can be used to transform a JSON string into a JSONObject object. Other methods or functions are available to accomplish the same purposes in other languagessuch as JavaScript .

Online references

There are many good online JSON references. Here are a few:

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Json0200: The What and Why of JSON
  • File: Json0200.htm
  • Published: 05/29/16
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please be aware that it is a copy of a module that is freelyavailable on cnx.org and that it was made and published without my prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask