我有一个像这样的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数组。
我错了什么?
谢谢:)
答案 0 :(得分:1)
你的json是无效的。请检查一些jsonvalidator是否json格式正确。要检查json格式,请参阅链接
要从json获取字符串,请参阅以下链接
我认为这对你有帮助..
答案 1 :(得分:0)
你是json字符串Result is not valid
。see 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");
}