私は私のPHPファイルから受け取り、次のJSON配列を解析しようとしています:AndroidのJSON/gsonデシリアライゼーション
actionsArray = [[ "19.431"、 "19.438"]、[[ "8"、 "107 "]、[]]、[" u1 "、" u2 "]]
私は主に配列[[" 8 "、" 107 "]、[]]へのアクセスに興味があります。しかし、私はエラーを取得し、「com.google.gson.JsonParseException:期待配列が、見つかったオブジェクト:名前:ヌルグラム:ヌル0アクション:ヌル
は、ここに私のコードからの抜粋です:
Userクラスが含まれています:文字列名; []アクションをint型、文字列グラム
JSONArray inputarray;
try {
int[] userActionsArray = new int[0];
inputarray = new JSONArray(br.readLine());
JSONArray gramsArray = (JSONArray)inputarray.get(0);
JSONArray actionsArray = (JSONArray)inputarray.get(1);
JSONArray namesArray = (JSONArray) inputarray.get(2);
User[] values = new User[namesArray.length()];
Gson gson = new Gson();
*User userAction = gson.fromJson(inputarray.toString(), User.class);
//error occurs on the above line*
...
ご回答ありがとうございます。これは理にかなっていますが、JSONArrayを指定されたフォーマット{myArray:["first"、 "second"]}に従うのが正しい方法がわかりません。あなたは私を正しい方向に向けることができますか? – user836200
ループを作成してすべての行を印刷するだけで、JSON全体を表示できますか? (単にbr.readLine()をループして印刷してください)。または、JSONを手動で生成していますか? –
ArrayListオブジェクトを使用した後で問題を解決できました。私はgsonをあきらめて、JSONArraysを保持しました。私はPHPファイルからJSONArrayを取得しました。あなたの助けに感謝します(+1)。 – user836200