ブレイディ・ハーパー:
私は、オブジェクトのリストに内部ストレージファイルからJSONを読み込むしようとしています。
そして、ファイルを読み込むための私のコードはGSON
次のとおりです。
fis = openFileInput(filename);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
StringBuilder data = new StringBuilder();
String line = null;
line = reader.readLine();
while (line != null)
{
data.append(line).append("\n");
}
data.toString();
reader.close();
fis.close();
Type walletListType = new TypeToken<ArrayList<WalletClass>>(){}.getType();
walletList.add(new Gson().fromJson(data, walletListType));
しかし、私はエラーを取得しています
方法fromJson( 'java.lang.stringBuilder、java.lang.reflect.Type')を解決することはできません
私は負荷にしようとしているJSONは(私はオブジェクトのリストからそれを連載しましたので、それが角括弧の内側にあります)です。
[
{"balance":258,"walletName":"wallet 1"},
{"balance":5222,"walletName":"wallet 2"},
{"balance":1,"walletName":"wallet 3"}
]
私は、このための一般的な修正プログラムはからのインポートコードを変更している知っているorg
のcom
が、私はすでに確認してくださいそれが作りました、com
。
alainlompo:
Gsonはのためのオーバーロードの多くを提供fromJson
する方法を、ここでは彼らの署名です。
しかし、あなたはそれらのどれも取らない見ることができるようにStringBuilderを最初の引数として。これは、コンパイラが文句を言っているものです。代わりに、あなたは最初の引数として文字列を取るコンストラクタを持っています。
だから、この行を置き換えます。
walletList.add(new Gson().fromJson(data, walletListType));
と:
walletList.add(new Gson().fromJson(data.toString(), walletListType));
そして、あなたが行っても良いことがあります。