如何使用改造获得没有对象键的 JSON 数组

How to get JSON Array without object key using retrofit

我在加载时遇到问题想要从下面的 JSON 检索 url 数据

{
     "status": "success",
     "message": "This is a message",
     "item":{
         "id":"1",
         "video":{
             "url" : [
                 "https://url1.com",
                 "https://url1.com",
                 "https://url1.com"
             ]
          }
     }
}

响应数据

public class ResponseData {

    @SerializedName("status")
    private String status;
    @SerializedName("message")
    private String message;
    @SerializedName("item")
    private Item item;

    //Getters
}

项目

public class Item {
   
   @SerializedName("id")
   private String id;
   @SerializedName("video")
   private Video video;
   
   //Getters
}

视频

public class Video { 

   @SerializedName("url")
   private List<String> urlList;
   
   //Getters
}

在此之后我应该做什么来获取每个 URL 并将其应用到 Retrofit onResponse 中?

 @Override
 public void onResponse(@NonNull Call<ResponseData> call, @NonNull Response<ResponseData> response) {
     if (response.isSuccessful()) {
         ResponseData resp = response.body();

         //For the call I want results like the method below
         DataFromServer d = new DataFromServer();
         d.url = resp.getItem().getVideo().getUrlList().getUrl1(); // I want it like this
     }
 }
    resp.getItem().getVideo().getUrlList().forEach((url) -> {
       Log.i("url", url) // you can get each url here
     }
    );

您基本上是从服务器获取列表。

您不需要密钥即可访问它们。您可以将它们存储在列表中,也可以

list.get(0) - 第一个 url

list.get(1) - 第二个 url

等等。