Creating json object in java

How to Write/create a JSON file using Java?

JSON or JavaScript Object Notation is a lightweight text-based open standard designed for human-readable data interchange. Conventions used by JSON are known to programmers, which include C, C++, Java, Python, Perl, etc. Sample JSON document

Json-simple library

The json-simple is a light weight library which is used to process JSON objects. Using this you can read or, write the contents of a JSON document using Java program.

JSON-Simple maven dependency

Following is the maven dependency for the JSON-simple library −

  com.googlecode.json-simple json-simple 1.1.1  

Paste this with in the tag at the end of your pom.xml file. (before tag)

Example

To create a JSON document using a Java program −

//Creating a JSONObject object JSONObject jsonObject = new JSONObject();
  • Insert the required key-value pairs using the put() method of the JSONObject class.
FileWriter file = new FileWriter("E:/output.json"); file.write(jsonObject.toJSONString()); file.close();

Following Java program creates a JSON object and writes it into a file named output.json.

Example

import java.io.FileWriter; import java.io.IOException; import org.json.simple.JSONObject; public class CreatingJSONDocument < public static void main(String args[]) < //Creating a JSONObject object JSONObject jsonObject = new JSONObject(); //Inserting key-value pairs into the json object jsonObject.put("ID", "1"); jsonObject.put("First_Name", "Shikhar"); jsonObject.put("Last_Name", "Dhawan"); jsonObject.put("Date_Of_Birth", "1981-12-05"); jsonObject.put("Place_Of_Birth", "Delhi"); jsonObject.put("Country", "India"); try < FileWriter file = new FileWriter("E:/output.json"); file.write(jsonObject.toJSONString()); file.close(); >catch (IOException e) < // TODO Auto-generated catch block e.printStackTrace(); >System.out.println("JSON file created: "+jsonObject); > >

Output

If you observe the contents of the JSON file you can see the created data as −

Источник

JsonObject Java

Java Course - Mastering the Fundamentals

We most frequently utilize JSON (JavaScript Object Notation) , a lightweight data-exchange format, for client-server communication. It is both simple to read and write and language-independent. JSON object, an array, an integer, a text, a boolean (true/false), or null can all be used as JSON values.

In this tutorial, we’ll learn how to produce, edit, and parse JSON using the JSONObject in java, also known as org.json, one of the JSON processing libraries that is readily available.

Introduction to Java JsonObject

We can read and write JSON data in Java using the JSONObject in java(json.simple package). In other words, the json package allows us to encode and decode JSON objects in Java. Important classes for the JSON API are contained in the org.json.simple package.

Declaration

Mapping between JSON and Java Entities

While encoding or parsing JSON.simple, entities are mapped from the right to the left, and when decoding or parsing, they are mapped from the left to the right.

JSON JAVA
string java.lang.String
number java.lang.Number
true,false java.lang.Boolean
null null
array java.util.list
object java.lang.Map

Constructors Summary of Java JsonObject

Constructor Description
JSONObject() a JSONObject in java is created without name/value mappings.
JSONObject(Map mp) copies every name/value mapping from the supplied map and creates a new JSONObject.
JSONObject(JSONTokener readfrom) creates a new JSONObject from the following object in the tokener with name/value mappings.
JSONObject(String s) creates a new JSONObject from the JSON string with name/value mappings.
JSONObject(JSONObject copyFrom, String[] name) copies the mappings for the stated names from the supplied object and creates a new JSONObject.
Читайте также:  Preview

Nested Class Summary of Java JsonObject

JsonObject in java is inherited from different interfaces and classes. Here is list of classes/interfaces that are parent classes of jsonObject.

modifier and type interface and description
static class JsonValue.ValueType displays a JsonValue object’s type.
static interface A map entry (key-value pair)

Field Summary of Java JsonObject

A Field gives users dynamic access to and details about a specific field of a class or interface. A class (static) field or an instance field could be the mirrored field.

Field description
static final JsonValue NULL JSON null value
static final JsonValue FALSE JSON False value
static final JsonValue TRUE JSON True value

Method Summary of Java JsonObject

Method Description
boolean getBoolean(String name) returns the associated mapping’s boolean value for the given name.
boolean getBoolean(String name, boolean defaultValue) The corresponding mapping’s boolean value for the given name is returned. int getInt(String name) A convenience method for getJsonNumber(name).intValue()
int getInt(String name, int defaultValue) gives the supplied name’s corresponding int value for the JsonNumber mapping.
JsonArray getJsonArray(String name) gives the array value that the given name is mapped to.
JsonNumber getJsonNumber(String name) returns the numerical value that corresponds to the provided name.
JsonObject getJsonObject(String name) returns the value of the object that corresponds to the given name.
JsonString getJsonString(String name) returns the string value that corresponds to the given name.
String getString(String name) an effective getJsonString method (name). getString()
String getString(String name, String defaultValue) Returns the corresponding JsonString mapping’s string value for the given name.
boolean isNull(String name) If JsonValue.NULL is the corresponding value for the given name, then the function returns true.

Method Detail

getJsonArray

The array value to which the supplied name is mapped is returned. This is a shortcut for (JsonArray)get(name) to get the value.

Returns: the array value to which the given name is mapped, or null if there is no mapping for the name in this object.

  • ClassCastException — if the value mapped to the given name is not assignable to the JsonArray type

getJsonObject

The object value to which the given name is mapped is returned. This is a shortcut for (JsonObject)get(name) to return the value. Parameters:

  • name — the name associated with the value to be returned Returns: the object value to which the supplied name is mapped, or null if there is no mapping for the name in this object. Throws:
  • ClassCastException — if the value mapped to the supplied name is not assignable to the JsonObject type

getJsonNumber

The numeric value to which the provided name is mapped is returned. This is a quick way to acquire the value of (JsonNumber)get(name).

Returns: the numeric value to which the supplied name is mapped, or null if there is no mapping for the name in this object.

  • ClassCastException — if the value mapped to the supplied name is not assignable to the JsonNumber type
Читайте также:  Javascript атрибутами объекта могут быть

getJsonString

Returns the string value that corresponds to the provided name This is a shortcut for (JsonString)get(name) to return the value. Parameters:

  • name — the name associated with the value to be returned Returns: the string value to which the supplied name is mapped, or null if there is no mapping for the name in this object. Throws:
  • ClassCastException — if the value mapped to the provided name is not assignable to the JsonString type

getString

A shortcut for getJsonString (name). getString() Parameters:

  • name — whose value is to be returned as a String Returns: the String value that corresponds to the provided name Throws:
  • NullPointerException — if there is no mapping for the supplied name
  • ClassCastException — if the supplied name mapping’s value is not assignable to JsonString

getString

String getString(String name, String defaultValue) The string value of the corresponding JsonString mapping for the supplied name is returned. If a JsonString is discovered, its JsonString.getString() method is called. Otherwise, the default value supplied is returned. Parameters:

  • name — the name of the variable whose associated value is to be provided as a String.
  • defaultValue — the default value to be returned Returns: the string value of the associated mapping for the name, or the default value

getInt

A shortcut for getJsonNumber (name). intValue() Parameters: name — whose value is to be returned as an int Returns: the int value that corresponds to the provided name Throws:

  • NullPointerException — if no mapping exists for the provided name.
  • ClassCastException — thrown if the value for the provided name mapping cannot be assigned to JsonNumber.

getInt

The int value of the related JsonNumber mapping for the supplied name is returned. If JsonNumber is discovered, JsonNumber.intValue() is returned. Otherwise, the default value supplied is returned. Parameters:

  • name — the name of the variable whose associated value is to be returned as an int
  • defaultValue — the default value to be provided Returns: the int value of the name’s associated mapping, or the default value

getBoolean

Returns the boolean value of the related mapping for the supplied name. If the associated mapping is JsonValue. TRUE, then returns TRUE. If the associated mapping is JsonValue. FALSE, then returns false. Parameters:

Returns: the boolean value to which the supplied name is mapped Throws:

  • NullPointerException — if no mapping exists for the specified name
  • ClassCastException — If the value for the supplied name mapping is not assignable to JsonValue. TRUE or JsonValue FALSE

getBoolean

The boolean value of the related mapping for the supplied name is returned. Returns true if the related mapping is JsonValue.TRUE . If the corresponding mapping is JsonValue. FALSE Then it returns false. Otherwise, the default value supplied is returned. Parameters:

  • name — the name of the variable whose associated value is to be returned as an int
  • defaultValue — the default value to be returned

Returns: The related mapping’s boolean value for the name, or the default value

isNull

If the related value for the supplied name is JsonValue.NULL, this function returns true. Parameters:

  • name — the name whose associated value is being examined. Returns: True if the associated value is JsonValue.NULL else false Throws:
  • NullPointerException — if the provided name does not contain any mappings
Читайте также:  Копирование массива python numpy

JsonArray getJsonArray(String name)

Returns the array value to which the specified name is mapped. This is a convenience method for (JsonArray)get(name) to get the value.

Parameters: name — the name whose associated value is to be returned

Returns: the array value to which the specified name is mapped, or null if this object contains no mapping for the name

Throws: ClassCastException — if the value to which the specified name is mapped is not assignable to the JsonArray type

put(K key, V value)

In the map, associates the supplied value with the specified key.

  • Key — the key with which the provided value is to be associated
  • value — the value to be associated with the specified key

Returns the previous value associated with the key, or null if no mapping for the key was found. (If the implementation allows null values, a null return might also indicate that the map already associated null with the key.)

  • UnsupportedOperationException
    • If the put operation is not supported by this map, an UnsupportedOperationException is thrown.
    • if the supplied key or value’s class precludes it from being put in this map.
    • If the supplied key or value is null and this map does not allow null keys or values, a NullPointerException is thrown.
    • If some property of the supplied key or value precludes it from being saved in this map, an IllegalArgumentException is thrown.

    Java JsonObject Examples

    Example 1

    In this example, we are how to check how to encode a JSON Object in java.

    Code Explanation In Above example, we have created JSON Object using the JSONObject() constructor. Used put() method that maps Subjects with OS,Marks with 99 Grade with A just like MAP.

    Example 2

    In this example we are going to find how to create JSONObject from HashMap.

    Code Explanation In Above code, we have created a HashMap and added some attributes of Smartphone. We have used the JSONObject(HashMap mp) Constructor to create JSONObject from HashMap.

    Example 3

    In this example, we are going to find how to create JSON Array in java and insert elements in JSON Array.

    Code Output

    Code Explanation In Above code, we have created a JSON Array and inserted some JSONObject using the put() method.

    Example 4

    In this example we are going to use some of method of jsonobject.

    Code Explanation In this code, we have created a JsonArray and added some JsonObjects to the JsonArray. Then we used methods like getJsonArray() , and getJsonObject .

    Conclusion

    • A JSONObject is a collection of name/value pairs that are not ordered. The string’s external form is enclosed in curly braces and has commas between values and names and colons between names and values.
    • We can read and write JSON data in Java using JSON Object in java.
    • Entities are mapped from the right to the left in encoding and when decoding or parsing, they are mapped from the left to the right.
    • JSONObject in java provides various methods

    Источник

Оцените статью