ホームページ  >  記事  >  Java  >  JavaのJSON

JavaのJSON

WBOY
WBOYオリジナル
2024-08-30 16:02:12481ブラウズ

軽量で、テキストに基づいており、言語に依存せず、人間と機械の両方が簡単に読み書きできるデータ交換の形式は、JavaScript Object Notation (Java では JSON とも呼ばれます) です。これは、オブジェクトと配列と呼ばれる 2 つのタイプの構造を表します。オブジェクトは、0 個以上の名前と値のペアのコレクションで順序付けされていないコレクションであり、0 個以上の値の順序付きシーケンスは配列です。可能な値は、数値、文字列、ブール値、null、オブジェクト、配列です。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java での JSON の操作

  • 人物を説明するために JSON でオブジェクトを表す以下の例を考えてみましょう。
  • 名と姓は、オブジェクト内の文字列の値を受け取ります。 age はオブジェクト内の数値の値を受け取ります。 address は、オブジェクト内の人の住所を表す文字列と数値の値を受け取ります。電話番号はオブジェクト内の配列の値を受け取ります。

コード:

{
"fName": "Shobha",
"lName": "Shivakumar",
"age1": 28,
"address1":
{
"streetAdd": "4, Ibbani street",
"city1": "Bangalore",
"state1": "Karnataka",
"pinCode": 560064
},
"phNumbers":
[
{
"type1": "home1",
"no": "9738128018"
},
{
"type2": "fax1",
"no1": "6366182095"
}
]
}
  • Java における JavaScript Object Notation (JSON) の処理は、JavaScript Object Notation (つまり、JSON.simple) を使用する Java アプリケーション プログラミング インターフェイスを通じて行われます。JavaScript Object Notation JSON.simple は、JavaScript オブジェクトの解析を可能にする Java のライブラリです。記法、JavaScript オブジェクト表記の生成、JavaScript オブジェクト表記の変換、JavaScript オブジェクト表記のクエリなど
  • JavaScript Object Notation のシンプル ライブラリを使用するには、JavaScript Object Notation プログラミング サンプルをコンパイルして実行する前に、json-simple-1.1.jar をダウンロードしてクラス パスに配置する必要があります。
  • JavaScript Object Notation のオブジェクトと配列の構造は、JavaScript Object Notation のシンプルなアプリケーション プログラミング インターフェイスによって提供されるオブジェクト モジュールを使用します。
  • これらの JavaScript Object Notation 構造は、JSON オブジェクトと JSON 配列の型を使用してオブジェクト モデルとして表されます。 JSON オブジェクトは、モデルから 0 個以上の名前と値のペアのコレクションにアクセスするためのマップ ビューを提供します。これは順序なしのコレクションであり、JSON 配列は、モデルから配列内の 0 個以上の値の順序付きシーケンスにアクセスするためのリスト ビューを提供します。

Java での JSON の例

Java での JSON の例を以下に示します。

例 #1

Java での JavaScript Object Notation (JSON) のエンコーディングを示す Java プログラム。

コード:

//Importing JSON simple library
import org.json.simple.JSONObject;
//Creating a public class
public class JsonEncode {
//Calling the main method
public static void main(String[] args) {
//Creating an object of JSON class
JSONObject obje = new JSONObject();
//Entering the values using the created object
obje.put("bal", new Double(100.22));
obje.put("number", new Integer(200));
obje.put("check_vvip", new Boolean(true));
obje.put("name1", "sean");
//Printing the values through the created object
System.out.print(obje);
}
}

上記の例では、JSON オブジェクト obje が作成されます。 JSON オブジェクト オブジェクトを使用します。 double、integer、Boolean、string などの値が出力として出力されます。

出力:

JavaのJSON

例 #2

JSON オブジェクトと JSON 配列の使用法を示す Java プログラム。

コード:

//importing JSON simple libraries
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
//creating a public class
public class JsonDecode{
//calling the main method
public static void main(String[] args) {
//creating an object of JSONparser
JSONParser par = new JSONParser();
//defining and assigning value to a string
String str = "[2,{\"3\":{\"4\":{\"5\":{\"6\":[7,{\"8\":9}]}}}}]";
try{
Object objc = par.parse(str);
//creating a JSON array
JSONArray array = (JSONArray)objc;
System.out.println("The array's second element is");
System.out.println(array.get(1));
System.out.println();
//creating a JSON object
JSONObject objc2 = (JSONObject)array.get(1);
System.out.println("Field \"2\"");
System.out.println(objc2.get("2"));
str = "{}";
objc = par.parse(str);
System.out.println(objc);
str = "[7,]";
objc = par.parse(str);
System.out.println(objc);
str = "[7,,2]";
objc = par.parse(str);
System.out.println(objc);
}catch(ParseException pr) {
System.out.println("The elements position is: " + pr.getPosition());
System.out.println(pr);
}
}
}

上記の例では、JSON パーサー par の JSON オブジェクトが作成され、文字列値が定義されて割り当てられます。 JSON 配列は、文字列内の指定されたさまざまな要素を取得するために作成されます。

出力:

JavaのJSON

例 #3

JavaScript Object Notation オブジェクトと JavaScript Object Notation 配列を使用して、JavaScript Object Notation データを JSON.json という名前のファイルに書き込む Java プログラム。

コード:

//importing java simple libraries and JSON libraries
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.LinkedHashMap;
import java.util.Map;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JSONWrite
{
public static void main(String[] args) throws FileNotFoundException
{
// Json object is created
JSONObject job = new JSONObject();
// Adding data using the created object
job.put("fName", "Shobha");
job.put("lName", "Shivakumar");
job.put("age1", 28);
// LinkedHashMap is created for address data
Map m1 = new LinkedHashMap(4);
m1.put("streetAdd", "4, Ibbani Street");
m1.put("city1", "Bangalore");
m1.put("state1", "Karnataka");
m1.put("pinCode", 560064);
// adding address to the created JSON object
job.put("address1", m1);
// JSONArray is created to add the phone numbers
JSONArray jab = new JSONArray();
m1 = new LinkedHashMap(2);
m1.put("type1", "home1");
m1.put("no", "9738128018");
// adding map to list
jab.add(m1);
m1 = new LinkedHashMap(2);
m1.put("type2", "fax1");
m1.put("no1", "6366182095");
// map is added to the list
jab.add(m1);
// adding phone numbers to the created JSON object
job.put("phoneNos", jab);
// the JSON data is written into the file
PrintWriter pwt = new PrintWriter("JSON.json");
pwt.write(job.toJSONString());
pwt.flush();
pwt.close();
}
}

上記の例では、JSON オブジェクト ジョブが作成されます。名、姓、年齢は、ジョブ オブジェクトを使用して JSON.json ファイルに書き込まれます。リンクされたハッシュ マップが作成されてアドレスの詳細が追加され、JSON ジョブ オブジェクトを使用してファイルに書き込まれます。電話番号を追加するために JSON 配列オブジェクトが作成され、リンクされたハッシュ マップを使用してさまざまな種類の電話番号が作成されます。最後に、JSON ジョブ オブジェクトを使用して、これらの電話番号をファイルに書き込みます。最終的には、プリント ライターを使用して、内容がファイルに書き込まれます。

出力:

上記のプログラムの出力は、ファイル JSON.json にアクセスしてファイルの内容を確認したときのものです。

Note: Since JSON is an unordered collection of name or value pairs, there is no order preserved in the output shown below. JavaのJSON

Example #4

Java program to read the contents of the file JSON. JSON demonstrates the use of JavaScript Object Notation object parser, JavaScript Object Notation object, and JavaScript Object Notation object array.

Code:

//importing JSON simple libraries
import java.io.FileReader;
import java.util.Iterator;
import java.util.Map;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.*;
public class JSONRead
{
public static void main(String[] args) throws Exception
{
// The file JSON.json is parsed
Object objc = new JSONParser().parse(new FileReader("JSON.json"));
// objc is convereted to JSON object
JSONObject job = (JSONObject) objc;
// obtaining the fname and lname
String fName = (String) job.get("fName");
String lName = (String) job.get("lName");
System.out.println(fName);
System.out.println(lName);
// age is obtained
long age1 = (long) job.get("age1");
System.out.println(age1);
// address is obtained
Map address1 = ((Map)job.get("address1"));
// iterating through the address
Iterator<Map.Entry> itr = address.entrySet().iterator();
while (itr.hasNext()) {
Map.Entry pair1 = itr1.next();
System.out.println(pair1.getKey() + " : " + pair1.getValue());
}
// phone numbers are obtained
JSONArray jab = (JSONArray) job.get("phoneNos");
// iterating phoneNumbers
Iterator itr1 = jab.iterator();
while (itr1.hasNext())
{
itr = ((Map) itr1.next()).entrySet().iterator();
while (itr.hasNext()) {
Map.Entry pair1 = itr.next();
System.out.println(pair1.getKey() + " : " + pair1.getValue());
}
}
}
}

In the above example, the file JSON.json is parsed by creating an object objc which is then converted to a JSON object job. First name, last name, age, address, and phone numbers are read from the JSON.json file through iterations and printed as the output.

Output:

The output of the above program after reading the contents from the JSON.json file is shown in the snapshot below:

JavaのJSON

以上がJavaのJSONの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。