Java外部ライブラリを呼び出してjsonファイルを読み込む

5507 ワード

jsonファイルを読み込むには、まずjson公式サイトにログインし、google-gsonのJava外部ライブラリをダウンロードし、彼をインポートしたJavaプロジェクトで、最後にこのライブラリを呼び出してjsonファイルを読み取る操作を行うことができます.まずjsonファイルを操作し、まずどのように操作するかを明らかにします.次に、jsonファイルの読み取り方法について説明します.
  • まずJsonの解析器を作成し、new JsonParser()を使用して、戻り値はJsonParserオブジェクトです.
  • その後、ファイルを読み取り、JsonParserのparseメソッドを呼び出します.パラメータはjson形式の文字列、またはreaderデータであってもよいが、ファイルを読み取る場合、そのパラメータはnew FileReader(「ファイルのアドレス+名前」)である必要があります.parseメソッドの戻り値はJsonObjectオブジェクトです.
  • 第3は、JsonObjectオブジェクトのgetメソッドを呼び出してルート要素のキー値ペアの値を取得することである.キー値ペアのキー値のキー名に基づいて値を取得する場合は、値タイプに基づいてgetAsStringまたは他のデータ型を一気に変換する方法を呼び出します.最後に値が得られた.
  • jsonファイルに配列が存在する場合、getJsonArrayのメソッドを呼び出して配列の値を取得し、ループを介して配列の値をそれぞれ取得する必要があります.
  • は上の通り、配列の中に配列がある場合はgetJsonArrayメソッドで読み取り続け、ループで表示します.

  • 次は詳細なコードです.readJson.json
    {
        "cat":"it",
        "language":[
            {"id":1,"ide":"eclipse","lan":"java"},
            {"id":2,"ide":"X-code","lan":"Swift"},
            {"id":3,"ide":"Visual Studio","lan":"C#"}
        ],
        "pop":true
    }

    testJson.java
    package com.readXml.gson;
    
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    
    import com.google.gson.JsonArray;
    import com.google.gson.JsonIOException;
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    import com.google.gson.JsonSyntaxException;
    
    public class testGson {
    
        public static void main(String[] args) {
            try {
    
                JsonParser parser=new JsonParser();//     
                JsonObject object=(JsonObject)parser.parse(new FileReader("readJson.json"));//    JsonObject  ,       parse        ,       JsonElement,          JsonObject            。
                System.out.println("cat="+object.get("cat").getAsString());//   JsonObject get  ,   json    ,            getAsString  getAsboolean  
                System.out.println("pop="+object.get("pop").getAsBoolean());
    //            Json  ,  json        ,        json    ;
                JsonArray array=object.get("language").getAsJsonArray();
                for (int i = 0; i "-------------");
                    JsonObject arrayObject=array.get(i).getAsJsonObject();
                    System.out.println("id="+arrayObject.get("id").getAsInt());
                    System.out.println("ide="+arrayObject.get("ide").getAsString());
                    System.out.println("lan="+arrayObject.get("lan").getAsString());    
                }
            } catch (JsonIOException e) {
    
                e.printStackTrace();
            } catch (JsonSyntaxException e) {
    
                e.printStackTrace();
            } catch (FileNotFoundException e) {
    
                e.printStackTrace();
            }
    
        }
    
    }