<< Chapter < Page Chapter >> Page >

Then the new code decodes the strings into JSONObject objects using a parse method from the JSONParser class and saves them in a fourth ArrayList object.

The contents of both lists of JSONObject objects are displayed on the computer screen after they are populated with decoded data fromthe JSON strings.

Decode and display using the JSONValue class

I will explain this program in fragments, and will begin at the point where the new code begins. The first fragment is shown in Listing 1 .

Listing 1 . Decode and display using the JSONValue class. //Create a container for decoded JSON strings. ArrayList<JSONObject>listC = new ArrayList<JSONObject>(); //Decode and display JSON strings using the parse method of the// JSONValue class System.out.println("Decode using JSONValue class");decodeC(listB,listC); display(listC);System.out.println();//blank line

Immediately prior to the code in Listing 1 , three JSON strings are stored as elements in an ArrayList object referred to as listB .

Listing 1 begins by instantiating a new ArrayList object, referred to as listC that will receive the decoded versions of the JSON strings as type JSONObject objects. Then Listing 1 calls the method named decodeC passing the list of JSON strings and the empty list as parameters.

The method named decodeC

The method named decodeC is shown in its entirety in Listing 2 .

Listing 2 . The method named decodeC. static void decodeC(ArrayList input,ArrayList output){ String temp = null;Iterator<String>iterator = input.iterator(); while (iterator.hasNext()){temp = iterator.next(); output.add(JSONValue.parse(temp));}//end while loop }//end decodeC

This method decodes a list of JSON strings into JSONObject objects using a static parse method of the JSONValue class. The resulting JSONObject objects are added to the empty ArrayList object received as an incoming parameter. When the method returns, that list contains one JSONObject object for each JSON string contained in the incoming ArrayList object.

Display contents of JSONObject objects

Returning now to the code in Listing 1 , the next statement calls the display method passing the now-populated listC as a parameter. At this point, the JSONObject objects stored in listC contain the information that was extracted from the JSON strings by the parse method of the JSONValue class.

The display method is shown in its entirety in Listing 3 .

Listing 3 . The display method. static void display(ArrayList input){ JSONObject temp = null;Iterator<JSONObject>iterator = input.iterator(); while (iterator.hasNext()){temp = iterator.next(); System.out.print("Name: " + temp.get("name"));System.out.print(" Age: " + temp.get("age")); System.out.println(" Is student? " + temp.get("student"));}//end while loop }//end display

This method uses the get method inherited from the HashMap class to get and display the values in a list of JSONObject objects for a known set of keys. This is plain-vanilla Java code and shouldn't require further explanation. The results of this call to the display method are shown in the top half of 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