ローカルのJsonファイルを読み込む(JSonic利用)

Jsonicっていう,JavaJsonを扱うライブラリを利用することになりました.
相変わらず,分からない.ので調べた.

1.利用するデータ

{
    "x1":["Indigo","3"],
    "x2":["Rot","2"]
}

2.取り込み用クラス

json側のキー名と,フィールドのプロパティ名が一致していることが味噌.

public class ListData {

    private String[] x1;
    private String[] x2;
    public String[] getX1() {
        return x1;
    }
    public void setX1(String[] x1) {
        this.x1 = x1;
    }
    public String[] getX2() {
        return x2;
    }
    public void setX2(String[] x2) {
        this.x2 = x2;
    }
}

3.Json取得クラス

今回は,Mapとして調理します.迫真のクソコード

public class JsonPractice {
    private String filepath = "テキトーなファイルパス\\setjson.json";

    public Map getList() {

        FileInputStream fis;
        try {
            fis = new FileInputStream(filepath);
            Map ldata = (Map)JSON.decode(fis);
            return ldata;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return null;
        } catch (JSONException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

    }
}

4.結果

うまくとれてるっぽいですよ?

class JsonPracticeTest {

    @Test
    public void TestGetListdata() {
        JsonPractice jsp = new JsonPractice();
        Map<String,List<String>> ldata = jsp.getList();
        List<String> x1 = ldata.get("x1");
        assertThat(x1.get(0), is("Indigo"));
    }
}

もっと楽なjsonの扱い方ないんだろうか? 調べが雑なのは認める...