【发布时间】:2018-11-29 19:40:15
【问题描述】:
我正在尝试使用 Volley 在我的项目中解析 json html。 Json 看起来像这样:
这是我的代码块:
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("channels");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject channel = jsonArray.getJSONObject(i);
String song = channel.getString("song");
String artist = channel.getString("age");
int duration = channel.getInt("duration");
double playedat = channel.getDouble("playedat");
String img = channel.getString("image_extralarge");
System.out.println(song + ", " + String.valueOf(duration) + ", " + img + "\n\n");
}
但每当我运行我的代码时,都会出现以下错误:
W/System.err: org.json.JSONException: No value for channels
at org.json.JSONObject.get(JSONObject.java:392)
W/System.err: at org.json.JSONObject.getJSONArray(JSONObject.java:587)
at com.example.korhan.frontend.MainActivity$2.onResponse(MainActivity.java:71)
at com.example.korhan.frontend.MainActivity$2.onResponse(MainActivity.java:67)
at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
【问题讨论】:
-
看起来您的元素不在数组中。这就是无法转换为
JSONArray的原因。 -
你知道如何解析它们吗? @AnxGotta
-
我在@K 下面为您发布了一个可能的解决方案。凯瑟
标签: android json android-studio android-volley