これは Gson で簡単に実現できます。
package stackoverflow.questions.q18932252;
import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class Q18932252 {
public static void main(String[] args){
String json = "[{\"b\" : {\"a\": \"Hello!\"}}, {\"b\" : {\"a\": \"Hi!\"}}, {\"b\" : {\"a\": \"Hello2!\"}}]";
Type listOfA = new TypeToken<List<A>>() {}.getType();
Gson g = new Gson();
ArrayList<A> result = g.fromJson(json, listOfA);
System.out.println(result);
}
}
この結果(標準toString
メソッドを追加しました):
[A [b=B [a=Hello!]], A [b=B [a=Hi!]], A [b=B [a=Hello2!]]]
JSON ファイル、つまり JSON 文字列を含むテキスト ファイルについて質問しているため、ファイルを文字列にロードする方法については、ファイルの内容から Java 文字列を作成する方法の質問を参照してください。