Revision: 67306
Updated Code
at September 6, 2014 07:51 by prgrmmraben
Updated Code
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringWriter; import java.net.URI; import java.net.URISyntaxException; import org.json.*; /** * @author prgrmmr.aben [at] gmail (dot) com * http://fivesnippets.blogspot.com/2014/09/jsonobject-jsonwriter-and-jsontokener.html * please give back a small donation if you find * this little educational snippet of code useful */ public class test { int intValue=0; public int getIntValue() { return intValue; } public void setIntValue(int intValue) { this.intValue = intValue; } public String getStringValue() { return stringValue; } public void setStringValue(String stringValue) { this.stringValue = stringValue; } public Double getDoubleValue() { return doubleValue; } public void setDoubleValue(Double doubleValue) { this.doubleValue = doubleValue; } String stringValue="azerty0123"; Double doubleValue = new Double(100.01); static URI uri =null; static { //is there a way to create an object which constructor can throw //an exception without using static block?, please answer me in comments try { uri = new URI("https://raw.githubusercontent.com/originals974/symfony/master/composer.json"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) throws IOException, URISyntaxException { // TODO Auto-generated method stub /* * creation of an URI object consisted of parsing a Json file in this address * creation of two Json objects one by default construct, * the other with a bean as an argument, a bean is an object * with public getters and setters */ JSONObject jsonObj = new JSONObject(); JSONObject jsonObj2 = new JSONObject(new test()); //put key/value pairs and experimenting the toString() method //on Json objects jsonObj.put("value1", "qwerty"); jsonObj.accumulate("value1", "azerty"); System.out.println(jsonObj.toString()); System.out.println(jsonObj2.toString()); //we can put objects of type JSONObject, like we did with beans, //we do with JSONObject objects jsonObj.put("innerJson", jsonObj2); System.out.println(jsonObj.toString()); jsonObj.remove("innerJson"); System.out.println(jsonObj.toString()); //JSONObject.doubleToString() returns null //when NaN (not finite number) value is passed as its argument System.out.println(JSONObject.doubleToString(new Double(0.0/0.0))); System.out.println(JSONObject.doubleToString(new Double(0.0/2))); //getting Names (keys) of jsonObj2 for (String string : JSONObject.getNames(jsonObj2)) { System.out.print(string+", "); } System.out.println(); //you need to activate assertions, pass -ea as an argument to the JVM assert !jsonObj.isNull("f5fe@al") : "key not found"; /* * making a JSONWriter object to put key/value pairs in "quick and convenient way" * as stated in the documentation of JSONWriter */ StringWriter writer = new StringWriter(); JSONWriter JsonWriter = new JSONWriter(writer); JsonWriter.object().key("key1").value(new String("value1")).key("key2").value("value2").key("key3").value("value3").endObject(); System.out.println(writer.toString()); /* * experiencing parsing methods in JSONTokener objects * we pass an inputStream after opening a connection to an URL */ InputStream jsonStreamExample = uri.toURL().openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(jsonStreamExample)); StringBuilder builder = new StringBuilder(); String aux = ""; while ((aux = reader.readLine()) != null) { builder.append(aux); } String text = builder.toString(); System.out.println(text); jsonStreamExample = uri.toURL().openStream(); JSONTokener tokener = new JSONTokener(jsonStreamExample); System.out.println("1-->"+tokener.next()+"<-- is a bracket"); System.out.println("2-->"+tokener.next()+"<-- is a back-space"); System.out.println("3-->"+tokener.next()+"<-- is a space"); System.out.println("4-->"+tokener.next()+"<-- is a space"); System.out.println("5-->"+tokener.next()+"<-- is a space"); System.out.println("6-->"+tokener.next()+"<-- is a space"); System.out.println("7-->"+tokener.next()+"<-- is a quote"); System.out.println("8-->"+tokener.next()+"<-- is first character of \"name\" "); System.out.println("9-->"+tokener.nextValue()+"<-- is the value that comes next"); System.out.print(tokener.next()+","+tokener.next()); System.out.println("\nthis is the value that comes next to the space after ':' --> "+tokener.nextValue()); } }
Revision: 67305
Updated Code
at September 6, 2014 07:49 by prgrmmraben
Updated Code
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringWriter; import java.net.URI; import java.net.URISyntaxException; import org.json.*; /** * @author prgrmmr.aben [at] gmail (dot) com * http://fivesnippets.blogspot.com/2014/08/servlet-filter-for-ddos-spam-etc.html * please give back a small donation if you find * this little educational snippet of code useful */ public class test { int intValue=0; public int getIntValue() { return intValue; } public void setIntValue(int intValue) { this.intValue = intValue; } public String getStringValue() { return stringValue; } public void setStringValue(String stringValue) { this.stringValue = stringValue; } public Double getDoubleValue() { return doubleValue; } public void setDoubleValue(Double doubleValue) { this.doubleValue = doubleValue; } String stringValue="azerty0123"; Double doubleValue = new Double(100.01); static URI uri =null; static { //is there a way to create an object which constructor can throw //an exception without using static block?, please answer me in comments try { uri = new URI("https://raw.githubusercontent.com/originals974/symfony/master/composer.json"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) throws IOException, URISyntaxException { // TODO Auto-generated method stub /* * creation of an URI object consisted of parsing a Json file in this address * creation of two Json objects one by default construct, * the other with a bean as an argument, a bean is an object * with public getters and setters */ JSONObject jsonObj = new JSONObject(); JSONObject jsonObj2 = new JSONObject(new test()); //put key/value pairs and experimenting the toString() method //on Json objects jsonObj.put("value1", "qwerty"); jsonObj.accumulate("value1", "azerty"); System.out.println(jsonObj.toString()); System.out.println(jsonObj2.toString()); //we can put objects of type JSONObject, like we did with beans, //we do with JSONObject objects jsonObj.put("innerJson", jsonObj2); System.out.println(jsonObj.toString()); jsonObj.remove("innerJson"); System.out.println(jsonObj.toString()); //JSONObject.doubleToString() returns null //when NaN (not finite number) value is passed as its argument System.out.println(JSONObject.doubleToString(new Double(0.0/0.0))); System.out.println(JSONObject.doubleToString(new Double(0.0/2))); //getting Names (keys) of jsonObj2 for (String string : JSONObject.getNames(jsonObj2)) { System.out.print(string+", "); } System.out.println(); //you need to activate assertions, pass -ea as an argument to the JVM assert !jsonObj.isNull("f5fe@al") : "key not found"; /* * making a JSONWriter object to put key/value pairs in "quick and convenient way" * as stated in the documentation of JSONWriter */ StringWriter writer = new StringWriter(); JSONWriter JsonWriter = new JSONWriter(writer); JsonWriter.object().key("key1").value(new String("value1")).key("key2").value("value2").key("key3").value("value3").endObject(); System.out.println(writer.toString()); /* * experiencing parsing methods in JSONTokener objects * we pass an inputStream after opening a connection to an URL */ InputStream jsonStreamExample = uri.toURL().openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(jsonStreamExample)); StringBuilder builder = new StringBuilder(); String aux = ""; while ((aux = reader.readLine()) != null) { builder.append(aux); } String text = builder.toString(); System.out.println(text); jsonStreamExample = uri.toURL().openStream(); JSONTokener tokener = new JSONTokener(jsonStreamExample); System.out.println("1-->"+tokener.next()+"<-- is a bracket"); System.out.println("2-->"+tokener.next()+"<-- is a back-space"); System.out.println("3-->"+tokener.next()+"<-- is a space"); System.out.println("4-->"+tokener.next()+"<-- is a space"); System.out.println("5-->"+tokener.next()+"<-- is a space"); System.out.println("6-->"+tokener.next()+"<-- is a space"); System.out.println("7-->"+tokener.next()+"<-- is a quote"); System.out.println("8-->"+tokener.next()+"<-- is first character of \"name\" "); System.out.println("9-->"+tokener.nextValue()+"<-- is the value that comes next"); System.out.print(tokener.next()+","+tokener.next()); System.out.println("\nthis is the value that comes next to the space after ':' --> "+tokener.nextValue()); } }
Revision: 67304
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 6, 2014 07:29 by prgrmmraben
Initial Code
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringWriter; import java.net.URI; import java.net.URISyntaxException; import org.json.*; /** * @author prgrmmr.aben [at] gmail (dot) com * please give back a small donation if you find * this little educational snippet of code useful */ public class test { int intValue=0; public int getIntValue() { return intValue; } public void setIntValue(int intValue) { this.intValue = intValue; } public String getStringValue() { return stringValue; } public void setStringValue(String stringValue) { this.stringValue = stringValue; } public Double getDoubleValue() { return doubleValue; } public void setDoubleValue(Double doubleValue) { this.doubleValue = doubleValue; } String stringValue="azerty0123"; Double doubleValue = new Double(100.01); static URI uri =null; static { //is there a way to create an object which constructor can throw //an exception without using static block?, please answer me in comments try { uri = new URI("https://raw.githubusercontent.com/originals974/symfony/master/composer.json"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) throws IOException, URISyntaxException { // TODO Auto-generated method stub /* * creation of an URI object consisted of parsing a Json file in this address * creation of two Json objects one by default construct, * the other with a bean as an argument, a bean is an object * with public getters and setters */ JSONObject jsonObj = new JSONObject(); JSONObject jsonObj2 = new JSONObject(new test()); //put key/value pairs and experimenting the toString() method //on Json objects jsonObj.put("value1", "qwerty"); jsonObj.accumulate("value1", "azerty"); System.out.println(jsonObj.toString()); System.out.println(jsonObj2.toString()); //we can put objects of type JSONObject, like we did with beans, //we do with JSONObject objects jsonObj.put("innerJson", jsonObj2); System.out.println(jsonObj.toString()); jsonObj.remove("innerJson"); System.out.println(jsonObj.toString()); //JSONObject.doubleToString() returns null //when NaN (not finite number) value is passed as its argument System.out.println(JSONObject.doubleToString(new Double(0.0/0.0))); System.out.println(JSONObject.doubleToString(new Double(0.0/2))); //getting Names (keys) of jsonObj2 for (String string : JSONObject.getNames(jsonObj2)) { System.out.print(string+", "); } System.out.println(); //you need to activate assertions, pass -ea as an argument to the JVM assert !jsonObj.isNull("f5fe@al") : "key not found"; /* * making a JSONWriter object to put key/value pairs in "quick and convenient way" * as stated in the documentation of JSONWriter */ StringWriter writer = new StringWriter(); JSONWriter JsonWriter = new JSONWriter(writer); JsonWriter.object().key("key1").value(new String("value1")).key("key2").value("value2").key("key3").value("value3").endObject(); System.out.println(writer.toString()); /* * experiencing parsing methods in JSONTokener objects * we pass an inputStream after opening a connection to an URL */ InputStream jsonStreamExample = uri.toURL().openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(jsonStreamExample)); StringBuilder builder = new StringBuilder(); String aux = ""; while ((aux = reader.readLine()) != null) { builder.append(aux); } String text = builder.toString(); System.out.println(text); jsonStreamExample = uri.toURL().openStream(); JSONTokener tokener = new JSONTokener(jsonStreamExample); System.out.println("1-->"+tokener.next()+"<-- is a bracket"); System.out.println("2-->"+tokener.next()+"<-- is a back-space"); System.out.println("3-->"+tokener.next()+"<-- is a space"); System.out.println("4-->"+tokener.next()+"<-- is a space"); System.out.println("5-->"+tokener.next()+"<-- is a space"); System.out.println("6-->"+tokener.next()+"<-- is a space"); System.out.println("7-->"+tokener.next()+"<-- is a quote"); System.out.println("8-->"+tokener.next()+"<-- is first character of \"name\" "); System.out.println("9-->"+tokener.nextValue()+"<-- is the value that comes next"); System.out.print(tokener.next()+","+tokener.next()); System.out.println("\nthis is the value that comes next to the space after ':' --> "+tokener.nextValue()); } }
Initial URL
http://fivesnippets.blogspot.com/2014/09/jsonobject-jsonwriter-and-jsontokener.html
Initial Description
This snippet of code, illustrates how to put, remove or accumulate values in a JSONObject object, use of JSONWriter for putting key/value pairs in "quick and convenient way" as stated by official documentation, and more practical uses for org.json beginners
Initial Title
Some uses of JSONObject, JSONWriter and JSONTokener classes of org.json
Initial Tags
json
Initial Language
Java