使用Gson解析java中的json对象时出错

时间:2012-06-09 04:32:57

标签: android json gson

我有一个像这样的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数组。

我错了什么?

谢谢:)

2 个答案:

答案 0 :(得分:1)

你的json是无效的。请检查一些jsonvalidator是否json格式正确。要检查json格式,请参阅链接

JSONFormat

要从json获取字符串,请参阅以下链接

AndroidJson

Parsing Json

我认为这对你有帮助..

答案 1 :(得分:0)

你是json字符串Result is not validsee here是否有效

它应该是

[ { "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");

}