0

私はこのようなjson文字列を持っています:

String result={[{"id":"2","fullname":"Course 1"},{"id":"3","fullname":"Course 2"}]}

Javaでは、そのjson文字列をデコードするために次のコードを記述しました。

public class Courses {
public String id,name;  
}
Gson gs = new Gson();
Type listType = new TypeToken<List<Courses>>(){}.getType();
List<Courses> listCourses= gs.fromJson(result, listType);

しかし、私は常にエラーを受け取ります:

06-09 04:21:11.614:E / AndroidRuntime(449):原因:java.lang.IllegalStateException:これはJSON配列ではありません。

私は何が間違っていますか?

ありがとう :)

4

2 に答える 2

1

jsonが有効ではありません。jsonが正しい形式であるかどうかをjsonvalidatorに確認してください。json形式を確認するには、リンクを参照してください

JSONFormat

jsonから文字列を取得するには、以下のリンクを参照してください。

AndroidJson

Jsonの解析

私はそれがあなたに役立つかもしれないと思います。

于 2012-06-09T04:44:00.297 に答える
0

あなたはjson文字列Result is not validです。ここで有効かどうかを参照してください

そしてそれはあるべきです

[ { "id": "2", "fullname": "Course 1" }, { "id": "3", "fullname": "Course 2" } ]

JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {

   JSONObject objJson = jsonArray.getJSONObject(i);
   int id = objJson.getInt("id");
   String fullName = objJson.getString("fullname");

}
于 2012-06-09T04:40:58.797 に答える