<< Chapter < Page Chapter >> Page >

The code in Listing 1 instantiates two objects of the class named ArrayList to serve as containers for the JSONObject objects and the JSON strings. This is plain vanilla Java code. There is nothing new here.

Create and populate a JSONObject object

Listing 2 creates and populates the first JSONObject object with key/value pairs. The keys are "name", "age", and "student" respectively. The value types are String , int , and boolean respectively.

Listing 2 . Create and populate a JSONObject object. listA.add(new JSONObject());listA.get(0).put("name","Joe"); listA.get(0).put("age",21);listA.get(0).put("student",true);

The code in Listing 2 begins by instantiating a new object of the JSONObject class and adding its reference into the first element (0) of the ArrayList object. Then it calls the get method on the ArrayList object three times in succession to gain access to the JSONObject . Each time it gains access to the JSONObject object, it calls the put method inherited from the HashMap class to store a key/value pair in the JSONObject object.

Note that the data stored in the JSONObject object is an unordered collection. As you will see later, the order inwhich the key/value pairs are extracted from the object using an iterator is unrelated to the order in which the key/value pairs are stored in the object.

Create and populate two more JSONObject objects

Listing 3 repeats the process two more times to create, populate, and save two more JSONObject objects. Note that one of these objects is populated in a different order than is the case in Listing 2 .

Listing 3 . Create and populate two more JSONObject objects. //Create and populate the second JSONObject. listA.add(new JSONObject());listA.get(1).put("student",false); listA.get(1).put("name","Sue");listA.get(1).put("age",32);//Create and populate the third JSONObject listA.add(new JSONObject());listA.get(2).put("name","Tom"); listA.get(2).put("age",19);listA.get(2).put("student",true);

Encode the data into JSON strings

Listing 4 uses an Iterator to gain access to each populated JSONObject object. Each time it gains access to an object, it calls the toJSONString method that is defined in the JSONObject class to transform the object into a JSON string.

At this point, the program could write the JSON strings into an output stream for transfer to some other programming environment. However as mentionedearlier, to keep the program simple, the program saves the JSON strings as elements in a second ArrayList object.

Listing 4 . Encode the data into JSON strings. Iterator<JSONObject>iteratorA = listA.iterator(); while (iteratorA.hasNext()){listB.add(iteratorA.next().toJSONString()); }//end while loop

Display the JSON strings

Listing 5 uses an Iterator to access and display each of the JSON strings that are stored in the ArrayList object.

Listing 5 . Display the JSON strings. Iterator<String>iteratorB = listB.iterator(); while (iteratorB.hasNext()){System.out.println(iteratorB.next()); }//end while loop}//end main }//end class Code

The screen output is shown in Figure 1 .

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