<< 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.
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.
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.
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 .
//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);
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.
Iterator<JSONObject>iteratorA = listA.iterator();
while (iteratorA.hasNext()){listB.add(iteratorA.next().toJSONString());
}//end while loop
Listing 5 uses an Iterator to access and display each of the JSON strings that are stored in the ArrayList object.
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 .
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?