首页 > 解决方案 > 如何在不创建包含其他数据类的数据类的情况下从 API 请求中获取特定数据?

问题描述

例如:{ "error": false, "message": "", "code": "", "ver": "v1.0.0", "base": "https://,,,,,,, ,,.com/", "count": 1, "updated": "2020-10-28T19:40:51+03:00", "data": [ { "id": "44", "slug" :“人力资源”,“名称”:“人力资源”,“img1”:空,“img2”:“page_44/1560347480_2.jpg”,“日期”:“2019-05-31”,“des”: “'vvvvvv.v”,“sendMail”:“info@....”,“iframe_url”:“ff/ff”}]}

这是 api json 响应。我只想要 "data": [] 值,而不是其余的。有没有一种方法可以避免为整个 api 响应创建数据类,而只是请求“数据”:[..] 值?

我正在使用 Android Studio Kotlin Retrofit Moshi

标签: androidapikotlinretrofitmoshi

解决方案


如果我正确理解您的问题,您只想从该 JSON 字符串中提取数据。你可以这样做:

JSONArray dataArray;
try {
    dataArray = new JSONObject(yourString).optJSONArray("data");
} catch (JSONException e) {
    // whatever
}
for (int i = 0; i < dataArray.length(); ++i) {
    // do whatever you want with each object:
    String name = dataArray.optJSONObject(i).optString("name");
}

推荐阅读