android - JSONArray 类型无法转换为 JSONObject
问题描述
当我调用我的服务网站时,我有这个异常:org.json.JSONException:Value[{}]
类型org.json.JSONArray
不能转换为JSONObject
private void jsonParse(){
String url="http://192.168.56.1:8095/rest/workouts/all";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("");
for(int i = 0; i < jsonArray.length(); i++) {
JSONObject w = jsonArray.getJSONObject(i);
String title = w.getString("title");
String goal = w.getString("goal");
txtv.append(title + ", " + goal +"\n\n");
}
...
顺便说一句,这是JSON
格式
[{"id":"1","title":"title","goal":"goal","exercice":"Exercice
1","difficulty":"Beginner","duration":"3","image":"..","description":"..."},]
解决方案
这是我找到的解决方案,谢谢大家♥..
private void jsonParse(){
String url="http://192.168.56.1:8095/rest/workouts/all";
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET,url,null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray jsonArray) {
try {
for(int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonobject = jsonArray.getJSONObject(i);
String title = jsonobject.getString("title");
String goal = jsonobject.getString("goal");
txtv.append(title + ", " + goal +"\n\n");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
mQueue.add(jsonArrayRequest);
}
推荐阅读
- symfony - 电子邮件验证错误 Symfony 4 后会话终止
- session - 为什么我在刷新 facebook 等页面时看不到任何加载程序?
- node.js - Battle.net API 使用 OAuth Token 返回 401 错误
- javascript - 我需要从不同的 javascript 文件中访问数据,并将其更改为字符串
- python-3.x - for循环中烧瓶中的变量
- firebase - 颤动等待结果始终为空
- tabulator - 如何设置列的默认颜色?
- python - iPhone 没有响应 Scapy 的 arp 数据包
- dynamic - Aurelia `@dynamicOptions` 与 `@bindable`s 混合
- android - Android xml和gradle代码突然改变并显示自动生成的代码