Java как установить json

org.json — Overview

org.json or JSON-Java is a simple Java based toolkit for JSON. You can use org.json to encode or decode JSON data.

Features

  • Specification Compliant − JSON.simple is fully compliant with JSON Specification — RFC4627.
  • Lightweight − It have very few classes and provides the necessary functionalities like encode/decode and escaping json.
  • XML Conversion − It provides conversion capability from JSON to XML and vice-versa.
  • HTTP Headers − Supports HTTP Header conversion to JSON and vice versa.
  • Cookie − Provides support for Cookie conversion to JSON and vice versa.
  • CDL − Provides support to convert comma separated list to JSON and vice versa.
  • No dependency − No external library dependency. Can be independently included.
  • Java 1.6-1.11 compatible − Source code and the binary are Java 1.6-1.11 compatible

org.json — Environment Setup

This chapter takes you through the process of setting up Org.Json on Windows and Linux based systems. Org.Json can be easily installed and integrated with your current Java environment following a few simple steps without any complex setup procedures. User administration is required while installation.

System Requirements

JDK Java SE 2 JDK 1.5 or above
Memory 1 GB RAM (recommended)
Disk Space No minimum requirement
Operating System Version Windows XP or above, Linux

Let us now proceed with the steps to install Org.Json.

Step 1: Verify your Java Installation

First of all, you need to have Java Software Development Kit (SDK) installed on your system. To verify this, execute any of the two commands depending on the platform you are working on.

If the Java installation has been done properly, then it will display the current version and specification of your Java installation. A sample output is given in the following table.

Open command console and type −

java version «11.0.11» 2021-04-20 LTS

Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)

Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

Open command terminal and type −

java version «11.0.11» 2021-04-20 LTS

Open JDK Runtime Environment 18.9 (build 11.0.11+9-LTS-194)

Open JDK 64-Bit Server VM (build 11.0.11+9-LTS-194, mixed mode)

  • We assume the readers of this tutorial have Java SDK version 11.0.11 installed on their system.
  • In case you do not have Java SDK, download its current version from www.oracle.com/technetwork/java/javase/downloads/index.html and have it installed.

Step 2: Set your Java Environment

Set the environment variable JAVA_HOME to point to the base directory location where Java is installed on your machine. For example,

Set JAVA_HOME to C:\ProgramFiles\java\jdk11.0.11

Читайте также:  Not directory exception java

Export JAVA_HOME = /usr/local/java-current

Append the full path of Java compiler location to the System Path.

Append the String «C:\Program Files\Java\jdk11.0.11\bin» to the end of the system variable PATH.

Export PATH = $PATH:$JAVA_HOME/bin/

Execute the command java -version from the command prompt as explained above.

Step 3: Install Org.Json Library

Download the latest version of org.json jar file from org.json @ MVNRepository. At the time of writing this tutorial, we have downloaded json-20211205, and copied it into C:\>JSON folder.

OS Archive name
Windows json-20180813.jar
Linux json-20180813.jar
Mac json-20180813.jar

Step 4: Set JSON_JAVA Environment

Set the JSON_JAVA environment variable to point to the base directory location where org.json jar is stored on your machine. Let’s assuming we’ve stored json-20211205.jar in the JSON folder.

Set the environment variable JSON_JAVA to C:\JSON

export JSON_JAVA = /usr/local/JSON

export JSON_JAVA = /Library/JSON

Step 5: Set CLASSPATH Variable

Set the CLASSPATH environment variable to point to the JSON.simple jar location.

Set the environment variable CLASSPATH to %CLASSPATH%;%JSON_JAVA%\json-20211205.jar;.;

export CLASSPATH = $CLASSPATH:$JSON_JAVA/json-20211205.jar:.

export CLASSPATH = $CLASSPATH:$JSON_JAVA/json-20211205.jar:.

org.json — CDL

CDL class provides static methods to convert a comma delimited text into a JSONArray, and vice versa.

Following methods are covered in the example.

  • rowToJSONArray(String) − Converts a comma delimited text to JSONArray Object.
  • rowToString(JSONArray) − Converts a JSONArray to comma delimited text.
  • toJSONArray(String) − Converts a multi-line comma delimited text to Object of JSONArray objects.
  • toJSONArray(JSONArray, String) − Converts a JSONArray Object and comma delimited text to JSONArray Object.

Example

import org.json.CDL; import org.json.JSONArray; import org.json.JSONTokener; public class JSONDemo < public static void main(String[] args) < String csvData = "INDIA, UK, USA"; //Case 1: CSV to JSON Array JSONArray jsonArray = CDL.rowToJSONArray(new JSONTokener(csvData)); System.out.println(jsonArray); //Case 2: JSONArray to CSV System.out.println(CDL.rowToString(jsonArray)); //Case 3: CSV to JSONArray of Objects csvData = "empId, name, age \n" + "1, Mark, 22 \n" + "2, Robert, 35 \n" + "3, Julia, 18"; System.out.println(CDL.toJSONArray(csvData)); //Case 4: CSV without header jsonArray = new JSONArray(); jsonArray.put("empId"); jsonArray.put("name"); jsonArray.put("age"); csvData = "1, Mark, 22 \n" + "2, Robert, 35 \n" + "3, Julia, 18"; System.out.println(CDL.toJSONArray(jsonArray,csvData)); >>

Output

Cookie class provides static methods to convert web browser’s cookie text into a JSONObject, and vice versa.

Following methods are covered in the example.

  • toJSONObject(String) − Converts a cookie text to JSONObject Object.
  • toString(JSONObject) − Converts a JSONObject to cookie text.

Example

import org.json.Cookie; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < String cookie = "username = Mark Den; expires = Thu, 15 Jun 2020 12:00:00 UTC; path = /"; //Case 1: Converts Cookie String to JSONObject JSONObject jsonObject = Cookie.toJSONObject(cookie); System.out.println(jsonObject); //Case 2: Converts JSONObject to Cookie String System.out.println(Cookie.toString(jsonObject)); >>

Output

 username=Mark Den;expires=Thu, 15 Jun 2020 12:00:00 UTC;path=/

org.json — CookieList

CookieList class provides static methods to convert Cookie List to JSONObject, and vice versa. Cookie List is a sequence of name/value pairs.

Following methods are covered in the example.

  • toJSONObject(String) − Converts a cookie list text to JSONObject Object.
  • toString(JSONObject) − Converts a JSONObject to cookie list text.

Example

import org.json.Cookie; import org.json.CookieList; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < String cookie = "username = Mark Den; expires = Thu, 15 Jun 2020 12:00:00 UTC; path = /"; //Case 1: Converts Cookie String to JSONObject JSONObject cookieJSONObject = Cookie.toJSONObject(cookie); JSONObject cookielistJSONObject = new JSONObject(); cookielistJSONObject.put(cookieJSONObject.getString("name"), cookieJSONObject.getString("value")); String cookieList = CookieList.toString(cookielistJSONObject); System.out.println(cookieList); System.out.println(CookieList.toJSONObject(cookieList)); >>

Output

org.json — HTTP

HTTP class provides static methods to convert web browser’s header text into a JSONObject, and vice versa.

Читайте также:  Css active before hover

Following methods are covered in the example.

  • toJSONObject(String) − Converts a header text to JSONObject Object.
  • toString(JSONObject) − Converts a JSONObject to header text.

Example

import org.json.HTTP; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < JSONObject jsonObject = new JSONObject(); jsonObject.put("Method", "POST"); jsonObject.put("Request-URI", "http://www.tutorialspoint.com/"); jsonObject.put("HTTP-Version", "HTTP/1.1"); //Case 1: Converts JSONObject of Header to String String headerText = HTTP.toString(jsonObject); System.out.println(headerText); headerText = "POST \"http://www.tutorialspoint.com/\" HTTP/1.1"; //Case 2: Converts Header String to JSONObject System.out.println(HTTP.toJSONObject(headerText)); >>

Output

POST "http://www.tutorialspoint.com/" HTTP/1.1 

org.json — JSONArray

A JSONArray is an ordered sequence of values. It provides methods to access values by index and to put values. Following types are supported −

  • Boolean
  • JSONArray
  • JSONObject
  • Number
  • String
  • JSONObject.NULL object

Example

import org.json.JSONArray; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < JSONArray list = new JSONArray(); list.put("foo"); list.put(new Integer(100)); list.put(new Double(1000.21)); list.put(new Boolean(true)); list.put(JSONObject.NULL); System.out.println("JSONArray: "); System.out.println(list); >>

Output

JSONArray: ["foo",100,1000.21,true,null]

org.json — JSONML

JSONML class provides static methods to convert a XML text into a JSONArray, and vice versa.

Following methods are covered in the example.

  • toJSONArray(String) − Converts a XML to JSONArray Object.
  • toJSONObject(String) − Converts a XML to JSONObject Object.
  • toString(JSONArray) − Gives a XML from a JSONArray Object.
  • toString(JSONObject) − Gives a XML from a JSONObject Object.

Example

import org.json.JSONArray; import org.json.JSONML; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < JSONArray list = new JSONArray(); list.put("name"); list.put("Robert"); System.out.println("XML from a JSONArray: "); String xml = JSONML.toString(list); System.out.println(xml); System.out.println("JSONArray from a XML: "); list = JSONML.toJSONArray(xml); System.out.println(list); System.out.println("JSONObject from a XML: "); JSONObject object = JSONML.toJSONObject(xml); System.out.println(object); System.out.println("XML from a JSONObject: "); xml = JSONML.toString(object); System.out.println(xml); >>

Output

XML from a JSONArray: Robert JSONArray from a XML: ["name","Robert"] JSONObject from a XML: XML from a JSONObject: Robert 

org.json — JSONObject

JSONObject class is a unordered collection of key-value pairs. It provides methods to access values by key and to put values. Following types are supported −

  • Boolean
  • JSONArray
  • JSONObject
  • Number
  • String
  • JSONObject.NULL object

Example

import org.json.JSONArray; import org.json.JSONObject; public class JSONDemo < public static void main(String[] args) < JSONObject jsonObject = new JSONObject(); jsonObject.put("Name", "Robert"); jsonObject.put("ID", 1); jsonObject.put("Fees", new Double(1000.21)); jsonObject.put("Active", new Boolean(true)); jsonObject.put("Other Details", JSONObject.NULL); JSONArray list = new JSONArray(); list.put("foo"); list.put(new Integer(100)); jsonObject.put("list",list); System.out.println(jsonObject); >>

Output

org.json — JSONStringer

JSONStringer is a utility class to build a JSON Text quickly which confirms to JSON Syntax rules. Each instance of JSONStringer can produce one JSON text.

Example

import org.json.JSONStringer; public class JSONDemo < public static void main(String[] args) < String jsonText = new JSONStringer() .object() .key("Name") .value("Robert") .endObject() .toString(); System.out.println(jsonText); jsonText = new JSONStringer() .array() .value("Robert") .value("Julia") .value("Dan") .endArray() .toString(); System.out.println(jsonText); jsonText = new JSONStringer() .array() .value("Robert") .value("Julia") .value("Dan") .object() .key("Name") .value("Robert") .endObject() .endArray() .toString(); System.out.println(jsonText); >>

Output

 ["Robert","Julia","Dan"] ["Robert","Julia","Dan",]

org.json — Property

Property class provides static methods to convert properties text into a JSONObject, and vice versa.

Following methods are covered in the example.

  • toJSONObject(Properties) − Converts a properties data to JSONObject Object.
  • toProperties(JSONObject) − Converts a JSONObject to properties object.

Example

import java.util.Properties; import org.json.JSONObject; import org.json.Property; public class JSONDemo < public static void main(String[] args) < Properties properties = new Properties(); properties.put("title", "This is a title text"); properties.put("subtitle", "This is a subtitle text"); System.out.println("Properties to JSON"); JSONObject jsonObject = Property.toJSONObject(properties); System.out.println(jsonObject); System.out.println("JSON to properties"); System.out.println(Property.toProperties(jsonObject)); >>

Output

Properties to JSON JSON to properties

Читайте также:  Test

org.json — XML

XML class provides static methods to convert a XML text into a JSONObject, and vice versa.

Following methods are covered in the example.

  • toJSONObject(String) − Converts a XML to JSONArray Object.
  • toString(JSONObject) − Gives a XML from a JSONObject Object.

Example

import org.json.JSONObject; import org.json.XML; public class JSONDemo < public static void main(String[] args) < JSONObject jsonObject = new JSONObject(); jsonObject.put("Name", "Robert"); jsonObject.put("ID", 1); jsonObject.put("Fees", new Double(1000.21)); jsonObject.put("Active", new Boolean(true)); jsonObject.put("Details", JSONObject.NULL); //Convert a JSONObject to XML String xmlText = XML.toString(jsonObject); //Convert an XML to JSONObject System.out.println(XML.toJSONObject(xmlText)); >>

Output

org.json — JSONException Handling

Utility classes of org.json throws JSONException in case of invalid JSON. Following example shows how to handle JSONException.

Example

import org.json.JSONException; import org.json.XML; public class JSONDemo < public static void main(String[] args) < try< //XML tag name should not have space. String xmlText = "null"; System.out.println(xmlText); //Convert an XML to JSONObject System.out.println(XML.toJSONObject(xmlText)); > catch(JSONException e) < System.out.println(e.getMessage()); >> >

Output

null Misshaped close tag at 34 [character 35 line 1]

Источник

Как подключить json java

Для работы с форматом json нужно использовать сторонние библиотеки. Несколько из них указаны ниже:
Json Simple (MVN Repository)
Простой парсер.

import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import java.util.Iterator; public class JsonSimpleClass  public static void main(String[] args) throws ParseException  //JSON строка String jsonString = " + "[," + "]>"; //Достаем один объект Object obj = new JSONParser().parse(jsonString); JSONObject jsonObject = (JSONObject) obj; String name = (String) jsonObject.get("name"); System.out.println("Имя: " + name); //Достаем массив JSONArray addresses = (JSONArray) jsonObject.get("addresses"); Iterator addressesIterator = addresses.iterator(); System.out.println("Адреса:"); //Выводим в цикле данные массива while (addressesIterator.hasNext())  JSONObject joIterator = (JSONObject) addressesIterator.next(); System.out.println("Улица: " + joIterator.get("street") + ", Дом: " + joIterator.get("house")); > > > 

GSON (MVN Repository)
Описание
Имеет все тоже, что и предыдущая библиотека, плюс можно создать модели данных для записи непосредственно в них. Например, имеем следующий Json:

создадим модель в виде класса

class Person  public String name; public int age; //Переопределим метод toString для вывода данных @Override public String toString()  return "name='" + name + '\'' + ", age color: #000000;font-weight: bold">+ age; > > 

для парсинга достаточно теперь использовать код:

import com.google.gson.Gson; public class GsonClass  public static void main(String[] args)  String jsonString = ""; //вот так коротко Gson g = new Gson(); Person person = g.fromJson(jsonString, Person.class); System.out.println(person); > > 

Теперь в person лежит объект Person, в котором находятся данные с теми типами, которые были указаны в модели Person.

Вывод при запуске кода выше:

Jackson (MVN Repository)
Документация
Умеет все тоже, что и предыдущий. Пример парсинга по модели Person:

import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonClass  public static void main(String[] args) throws JsonProcessingException  String jsonString = ""; ObjectMapper mapper = new ObjectMapper(); Person person = mapper.readValue(jsonString, Person.class); System.out.println(person); > > 

Источник

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