Sunday, 1 January 2017

How to create, read and validate JSON message in Java?

Maven Dependency
<dependency>
  <groupId>org.codehaus.jettison</groupId>
  <artifactId>jettison</artifactId>
  <version>1.3.8</version>
</dependency>


How to create JSON message in Java?


  public static void createJSONMessage() throws JSONException {

    JSONObject jsonObject = new JSONObject();
    //Write String value
    jsonObject.put("FirstName""Java");
    jsonObject.put("LastName""Guider");
    //Write Double value
    jsonObject.put("Version"1.8);
    //Write boolean value
    jsonObject.put("PlatformIndependent"true);
    //Create JSONArray Object
    JSONArray jsonArray = new JSONArray();
    jsonArray.put(0"London");
    jsonArray.put(1"United Kingdom");
    //Write Object value
    jsonObject.put("Address", jsonArray);

    System.out.println("createJSONMessage :: JSON Object as String :: " + jsonObject.toString());
  }


How to read JSON message in Java?



public static void readJSONMessage(String inputthrows JSONException {
    //Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    //Print all elements from JSONObject 
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      System.out.println("readJSONMessage :: Key ::" + key + ", Value:: " + jsonObject.get(key));
    }

  }


How to validate JSON message in Java?



public static boolean isJsonValid(String input){
    
    boolean result = false;
    try {
      JSONObject jsonObject = new JSONObject(input);
      result = true;
      System.out.println("isJsonValid :: Input Message [" + input + "] is a VALID JSON Format.");
    catch (JSONException e) {
      System.out.println("isJsonValid :: Input Message [" + input + "] is a NOT VALID JSON Format.");
      e.printStackTrace();
    }
    return result;
  }


How to check null key in JSON message?



public static void doesJsonInputContainNullValue(String inputthrows JSONException {

    // Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    // Iterate all elements from JSONObject
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      // check Null JSON value
      if (jsonObject.isNull(key)) {
        System.out.println("doesJsonInputContainNullValue :: JSON key which stores Null value :: " + key );
      
    }
  }


How to convert JSON message into Map in Java?



public static Map<String, Object> convertJSONStringToMap(String inputthrows JSONException {

    HashMap<String, Object> hashMap = new HashMap<String, Object>();

    // Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    // Iterate all elements from JSONObject
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      // Add all elements in HashMap
      hashMap.put(key, jsonObject.get(key));
    }
    
    System.out.println("convertJSONStringToMap :: JSON in HashMap ::" + hashMap);
    
    return hashMap;
  }


Source Code Of JSON Operations



package com.kt4study.json;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class JettisonJSONExample {

  public static void createJSONMessage() throws JSONException {

    JSONObject jsonObject = new JSONObject();
    //Write String value
    jsonObject.put("FirstName""Java");
    jsonObject.put("LastName""Guider");
    //Write Double value
    jsonObject.put("Version"1.8);
    //Write boolean value
    jsonObject.put("PlatformIndependent"true);
    //Create JSONArray Object
    JSONArray jsonArray = new JSONArray();
    jsonArray.put(0"London");
    jsonArray.put(1"United Kingdom");
    //Write Object value
    jsonObject.put("Address", jsonArray);

    System.out.println("createJSONMessage :: JSON Object as String :: " + jsonObject.toString());
  }

  public static void readJSONMessage(String inputthrows JSONException {
    //Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    //Print all elements from JSONObject 
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      System.out.println("readJSONMessage :: Key ::" + key + ", Value:: " + jsonObject.get(key));
    }

  }
  
  public static boolean isJsonValid(String input){
    
    boolean result = false;
    try {
      JSONObject jsonObject = new JSONObject(input);
      result = true;
      System.out.println("isJsonValid :: Input Message [" + input + "] is a VALID JSON Format.");
    catch (JSONException e) {
      System.out.println("isJsonValid :: Input Message [" + input + "] is a NOT VALID JSON Format.");
      e.printStackTrace();
    }
    return result;
  }

  // Print All JSON keys which stores Null value
  public static void doesJsonInputContainNullValue(String inputthrows JSONException {

    // Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    // Iterate all elements from JSONObject
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      // check Null JSON value
      if (jsonObject.isNull(key)) {
        System.out.println("doesJsonInputContainNullValue :: JSON key which stores Null value :: " + key );
      
    }
  }
  
  public static Map<String, Object> convertJSONStringToMap(String inputthrows JSONException {

    HashMap<String, Object> hashMap = new HashMap<String, Object>();

    // Convert Input Message to JSONObject
    JSONObject jsonObject = new JSONObject(input);
    // Iterate all elements from JSONObject
    Iterator keys = jsonObject.keys();
    while (keys.hasNext()) {
      String key = (Stringkeys.next();
      // Add all elements in HashMap
      hashMap.put(key, jsonObject.get(key));
    }
    
    System.out.println("convertJSONStringToMap :: JSON in HashMap ::" + hashMap);
    
    return hashMap;
  }
  
  //Convert JSON String into Map
  public static void main(String[] argsthrows JSONException {
    JettisonJSONExample.createJSONMessage();
    JettisonJSONExample.readJSONMessage("{\"FirstName\":\"Java\",\"LastName\":\"Guider\",\"OS\":null,\"Version\":1.8,\"PlatformIndependent\":true,\"Address\":[\"London\",\"United Kingdom\"]}");
    JettisonJSONExample.isJsonValid("{\"FirstName\":\"Java Guider\"}");
    JettisonJSONExample.doesJsonInputContainNullValue("{\"FirstName\":\"Java\",\"LastName\":\"Guider\",\"OS\":null}");
    JettisonJSONExample.convertJSONStringToMap("{\"FirstName\":\"Java\",\"LastName\":\"Guider\",\"OS\":null,\"Version\":1.8,\"PlatformIndependent\":true,\"Address\":[\"London\",\"United Kingdom\"]}");
  }
  
}

Output →

createJSONMessage :: JSON Object as String :: {"FirstName":"Java","LastName":"Guider","Version":1.8,"PlatformIndependent":true,"Address":["London","United Kingdom"]}
readJSONMessage :: Key ::FirstName, Value:: Java
readJSONMessage :: Key ::LastName, Value:: Guider
readJSONMessage :: Key ::OS, Value:: null
readJSONMessage :: Key ::Version, Value:: 1.8
readJSONMessage :: Key ::PlatformIndependent, Value:: true
readJSONMessage :: Key ::Address, Value:: ["London","United Kingdom"]
isJsonValid :: Input Message [{"FirstName":"Java Guider"}] is a VALID JSON Format.
doesJsonInputContainNullValue :: JSON key which stores Null value :: OS
convertJSONStringToMap :: JSON in HashMap ::{OS=null, Address=["London","United Kingdom"], Version=1.8, FirstName=Java, LastName=Guider, PlatformIndependent=true}

How to remove deprecated DefaultHttpClient in Java?

package com.kt4study.apache.http;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;

import javax.net.ssl.SSLContext;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthenticationException;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class DeprecatedHTTPClient {

  public static void removeDepricatedHTTPClientDemo() 
      throws AuthenticationException, ClientProtocolException, IOException, NoSuchAlgorithmException {
    
    /*//Depricated DefaultHttpClient
     
    HttpClient httpClient = new org.apache.http.impl.client.DefaultHttpClient();
    HttpGet httpGetRequest = new HttpGet("http://kt4study.blogspot.co.uk/");
    HttpResponse response = client.execute(request);
    */
    
    HttpClient httpClient = HttpClientBuilder.create().build();
    //Change your URL
    HttpGet httpGetRequest = new HttpGet("http://kt4study.blogspot.co.uk");
    UsernamePasswordCredentials credential = new UsernamePasswordCredentials("username""password");
    
    //HTTP/HTTPS Basis Authentication
    Header header = new BasicScheme(StandardCharsets.UTF_8).authenticate(credential, httpGetRequest, null);

    httpGetRequest.addHeader(header);

    //Set SSL  for Authentication
    final SSLConnectionSocketFactory sslConnectionSocketFactory = 
            new SSLConnectionSocketFactory(SSLContext.getDefault(),NoopHostnameVerifier.INSTANCE);
    
    final Registry<ConnectionSocketFactory> registry = RegistryBuilder
        .<ConnectionSocketFactory> create()
        .register("http"new PlainConnectionSocketFactory())
        .register("https", sslConnectionSocketFactory).build();

    final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
    connectionManager.setMaxTotal(100);

    httpClient = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory)
        .setConnectionManager(connectionManager).build();

    //Execute httpClient after setting SSL
    HttpResponse httpResponse = httpClient.execute(httpGetRequest);

    HttpEntity responseEntity = httpResponse.getEntity();
    //Http Response into String
    String response = EntityUtils.toString(responseEntity);

    System.out.println("HTTP Response Message :: " + response);

  }

  public static void main(String[] args
      throws AuthenticationException, ClientProtocolException, NoSuchAlgorithmException, IOException {
    DeprecatedHTTPClient.removeDepricatedHTTPClientDemo();
  }

}

One Dimensional Array In Java Example

package com.kt4study.corejava.misc;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class OneDimensionalArrayExample {

  public static void oneDimensionalArrayDemo() {

    // Create Array Type 1
    int array[] 156};
    for (int element : array) {
      System.out
          .println("OneDimensionalArray: Element from Type 1 Array :: "+  element);
    }

    // Create Array Type 2
    int intArray[] new int[3];
    intArray[020;
    intArray[115;
    intArray[225;

    for (int element : intArray) {
      System.out
          .println("OneDimensionalArray: Element from Type 2 Array :: " + element);
    }

    // Create Array Type 3
    String stringArray[] new String[] { "j""a""v""a" };
    for (String element : stringArray) {
      System.out
          .println("OneDimensionalArray: Element from Type 3 Array :: " + element);
    }
  }

  public static void main(String[] args) {
    OneDimensionalArrayExample.oneDimensionalArrayDemo();
  }

}

Output →

OneDimensionalArray: Element from Type 1 Array :: 15
OneDimensionalArray: Element from Type 1 Array :: 6
OneDimensionalArray: Element from Type 1 Array :: 4
OneDimensionalArray: Element from Type 2 Array :: 20
OneDimensionalArray: Element from Type 2 Array :: 15
OneDimensionalArray: Element from Type 2 Array :: 25
OneDimensionalArray: Element from Type 3 Array :: j
OneDimensionalArray: Element from Type 3 Array :: a
OneDimensionalArray: Element from Type 3 Array :: v
OneDimensionalArray: Element from Type 3 Array :: a

Multi Dimensional Array In Java Example

package com.kt4study.corejava.misc;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class MultiDimensionalArrayExample {

  public static void multiDimensionalArrayDemo() {

    // Create Multi Dimensional Array
    int[][] intMultiArray = new int[2][3];
    intMultiArray[0][020;
    intMultiArray[0][122;
    intMultiArray[0][252;
    intMultiArray[1][015;
    intMultiArray[1][14;
    intMultiArray[1][254;
    
    for (int[] array : intMultiArray) {
      for (int element: array) {
        System.out.println("MultiDimensionalArray: Element from An Array :: " + element);
        }
    }
  }

  public static void main(String[] args) {
    MultiDimensionalArrayExample.multiDimensionalArrayDemo();
  }

}

Output →

MultiDimensionalArray: Element from An Array :: 20
MultiDimensionalArray: Element from An Array :: 22
MultiDimensionalArray: Element from An Array :: 52
MultiDimensionalArray: Element from An Array :: 15
MultiDimensionalArray: Element from An Array :: 4
MultiDimensionalArray: Element from An Array :: 54

Overriding In Java Example

package com.kt4study.corejava.misc;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class OverridingExample extends Overriding {

  // Add two elements And Multiply with 10
  public int addAndMultiply(int a, int b) {

    int total = (a + b10;

    return total;
  }

  public static void main(String[] args) {
    Overriding overriding = new Overriding();
    System.out.println("Super Class: Overriding:addAndMultiply : Add two elements And multiply with '20' : result :: "
            + overriding.addAndMultiply(510));

    OverridingExample overridingExample = new OverridingExample();
    System.out.println("Sub Class: OverridingExample:addAndMultiply : Add two elements And multiply with '10' : result :: "
            + overridingExample.addAndMultiply(510));
  }

}

class Overriding {

  // Add two elements And Multiply with 20
  public int addAndMultiply(int a, int b) {

    int total = (a + b20;

    return total;
  }
}

Output →

Super Class: Overriding:addAndMultiply : Add two elements And multiply with '20' : result :: 300
Sub Class: OverridingExample:addAndMultiply : Add two elements And multiply with '10' : result :: 150

Overloading In Java Example

package com.kt4study.corejava.misc;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class OverloadingExample {

  //Addition of two elements
  public int add(int a, int b){
    return (a+b);
  }
  
  //Addition of three elements
  public int add(int a, int b, int c){
    return (a+b+c);
  }
  
  public static void main(String[] args) {
    
    OverloadingExample overloadingExample = new OverloadingExample();
    
    System.out.println("Addition Of Two Elements :: " +  overloadingExample.add(1015));
    System.out.println("Addition Of Three Elements :: " +  overloadingExample.add(205200));
  }

}

Output →

Addition Of Two Elements :: 25
Addition Of Three Elements :: 225

Iterator in Java Example

package com.kt4study.corejava.misc;

import java.util.ArrayList;
import java.util.Iterator;

/**
 @author kt4study.blogspot.co.uk
 
 */

public class IteratorExample {

  public static void iteratorExampleDemo() {

    ArrayList<String> arrayList = new ArrayList<String>();
    arrayList.add("Java Guider");
    arrayList.add("Kt4Study.blogspot.co.uk");
    arrayList.add("Learn Java");
    // Get list of elements to iterate
    Iterator<String> iterator = arrayList.iterator();

    while (iterator.hasNext()) {
      System.out.println("Element from Iterator :: " + iterator.next());
    }

  }

  public static void main(String[] args) {
    IteratorExample.iteratorExampleDemo();
  }
}

Output →

Element from Iterator :: Java Guider
Element from Iterator :: Kt4Study.blogspot.co.uk
Element from Iterator :: Learn Java