<< Chapter < Page Chapter >> Page >
This page explains the inheritance structure of the json-simple Java library and how it fits into the standard Java library.

Revised: Thu Jun 02 19:23:22 CDT 2016

This page is included in the following Books:

Table of contents

Preface

This is a page from the book titled The json-simple Java Library . The book explains how to use the json-simple Java library to generate, transform, and query JSON text. This page explains the inheritance structure of the json-simple Java library and how it fits into the standard Java library.

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 the Figuresand Listings while you are reading about them.

Figures

Listings

General background information

The earlier page titled Json0205: Getting Started provided a download link for a standard javadoc documentation package for version 1.1 of the json-simple Java library. That documentation package shows that the library contains the following packages:

  • org.json.simple
  • org.json.simple.parser

Those packages contain the following classes and interfaces with the interfaces shown in Italics :

  • ContainerFactory
  • ContentHandler
  • ItemList
  • JSONArray
  • JSONAware
  • JSONObject
  • JSONParser
  • JSONStreamAware
  • JSONValue
  • ParseException
  • Yytoken

The jar file also contains a class named Yylex in the org.json.simple.parser package that did not show up in the documentation. It didn't show up in the documentation because it is package-private and therefore not intended for our direct use. It is used internally by code in the class named JSONParser .

Discussion and sample code

Listing 1 provides the code for a Java program that establishes the position in the class hierarchy of each of the classes in the json-simple library by displaying the superclass of each of those classes. Figure 1 shows the screen output produced by this program.

Figure 1. Inheritance hierarchy. ItemList: class java.lang.Object JSONArray: class java.util.ArrayListJSONObject: class java.util.HashMap JSONParser: class java.lang.ObjectJSONValue: class java.lang.Object ParseException: class java.lang.ExceptionYytoken: class java.lang.Object

The class named ParseException extends the standard class named Exception as you might expect.

Four of the classes extend the class named Object , which is not particularly surprising. New classes extend the Object class by default unless they are defined to purposely extend some other class.

The most important thing shown in Figure 1 is that the JSONArray classextends the standard ArrayList class and the JSONObject class extendsthe standard HashMap class. These standard classes are part of the Java Collections Framework .

This illustrates one of the most important features of the json-simple library. The library maximizes the use of standard classes from the Java Collections Framework . Once you have a reference to an object of the JSONArray class or an object of the JSONObject class, you have access to all of the polymorphic features provided by that framework. You also have access to the methods defined by thosetwo classes and the classes defined by their superclasses. Therefore, if you are already skilled at programming within the collections framework, it is a small step to add JSON programming to your skill set.

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