第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將數(shù)據(jù)加載到j(luò)ava中的下拉列表?

將數(shù)據(jù)加載到j(luò)ava中的下拉列表?

翻過高山走不出你 2023-05-10 16:56:41
當(dāng)我在控制臺(tái)中打印時(shí),我從 API 調(diào)用中獲取數(shù)據(jù)時(shí)遇到了一些問題。我得到{id: 0000, label: TEST}作為我的結(jié)果。我需要做的是將要label顯示在我的下拉列表中的值填充為用戶可以從中進(jìn)行選擇的值。下面有我的代碼的方法嗎?謝謝您的幫助。這是我的代碼:使用澤西圖書館:  public List<JobSearchItem> getjobSearchList() {    Client restClient = ClientBuilder.newClient();    Response response = restClient.target("https://api.myjson.com/bins/7xq2x").request(MediaType.APPLICATION_JSON).get();    return response.readEntity(new GenericType<List<JobSearchItem>>() {});}@Overridepublic String toString() {    return new StringBuilder().append("[value=").append(value).append(", label=").append(label).append("]")            .toString();}
查看完整描述

1 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

正如我在評(píng)論中提到的,如果您使用一個(gè)庫(kù)或框架來為您完成繁重的工作,這將非常容易。這是一個(gè)使用Jersey檢索列表的非常簡(jiǎn)單的示例。

import java.util.List;


import javax.ws.rs.client.Client;

import javax.ws.rs.client.ClientBuilder;

import javax.ws.rs.core.GenericType;

import javax.ws.rs.core.MediaType;

import javax.ws.rs.core.Response;


public class ListExtractor {

? ? public static void main(String[] args) {

? ? ? ? Client restClient = ClientBuilder.newClient();

? ? ? ? Response response = restClient.target("https://api.myjson.com/bins/7xq2x").request(MediaType.APPLICATION_JSON).get();

? ? ? ? List<Item> items = response.readEntity(new GenericType<List<Item>>() {});

? ? ? ? items.forEach(System.out::println);

? ? }


? ? static class Item {

? ? ? ? private String name;

? ? ? ? private String abbreviation;


? ? ? ? public String getName() {

? ? ? ? ? ? return name;

? ? ? ? }


? ? ? ? public void setName(String name) {

? ? ? ? ? ? this.name = name;

? ? ? ? }


? ? ? ? public String getAbbreviation() {

? ? ? ? ? ? return abbreviation;

? ? ? ? }


? ? ? ? public void setAbbreviation(String abbreviation) {

? ? ? ? ? ? this.abbreviation = abbreviation;

? ? ? ? }


? ? ? ? @Override

? ? ? ? public String toString() {

? ? ? ? ? ? return new StringBuilder().append("[name=").append(name).append(", abbreviation=").append(abbreviation).append("]")

? ? ? ? ? ? ? ? ? ? .toString();

? ? ? ? }

? ? }

}

更新

我只是稍微修改了代碼,以便它返回一個(gè)項(xiàng)目列表。

警告:這不是生產(chǎn)就緒代碼。我沒有添加任何異常處理或日志記錄,因此它保持簡(jiǎn)短并以清晰的方式傳達(dá)其目的。

您需要熟悉 JSON 序列化器/反序列化器,才能理解上面示例中的內(nèi)容。

解釋

如果您查看鏈接 (?https://api.myjson.com/bins/7xq2x?) 的響應(yīng),您會(huì)看到它返回一個(gè) JSON 數(shù)組,其中數(shù)組的每個(gè)元素是:?{"name":"Alberta","abbreviation":"AB"}。Jersey 提供的 JSON 反序列化器可以將此 JSON 對(duì)象轉(zhuǎn)換(反序列化)為 Java 對(duì)象,如果您有一個(gè)類,該類具有兩個(gè)名為nameand?abbreviation(及其相應(yīng)的 getter 和 setter)的字段。

這行代碼

response.readEntity(new?GenericType<List<Item>>()?{});

將開箱即用,因?yàn)槲覀優(yōu)?code>Item類提供了與上面 JSON 對(duì)象中的鍵一樣命名的字段:

class Item {

? ? ? ? private String name;

? ? ? ? private String abbreviation;


? ? ? ? public String getName() {

? ? ? ? ? ? return name;

? ? ? ? }


? ? ? ? public void setName(String name) {

? ? ? ? ? ? this.name = name;

? ? ? ? }


? ? ? ? public String getAbbreviation() {

? ? ? ? ? ? return abbreviation;

? ? ? ? }


? ? ? ? public void setAbbreviation(String abbreviation) {

? ? ? ? ? ? this.abbreviation = abbreviation;

? ? ? ? }


? ? ? ? @Override

? ? ? ? public String toString() {

? ? ? ? ? ? return new StringBuilder().append("[name=").append(name).append(", abbreviation=").append(abbreviation).append("]")

? ? ? ? ? ? ? ? ? ? .toString();

? ? ? ? }

? ? }

這是修改后的示例:


import java.util.List;


import javax.ws.rs.client.Client;

import javax.ws.rs.client.ClientBuilder;

import javax.ws.rs.core.GenericType;

import javax.ws.rs.core.MediaType;

import javax.ws.rs.core.Response;


public class ListExtractor {

? ? public static void main(String[] args) {

? ? ? ? List<Item> items = getItems();

? ? ? ? items.forEach(System.out::println);

? ? }


? ? static List<Item> getItems() {

? ? ? ? Client restClient = ClientBuilder.newClient();

? ? ? ? Response response = restClient.target("https://api.myjson.com/bins/7xq2x").request(MediaType.APPLICATION_JSON).get();

? ? ? ? return response.readEntity(new GenericType<List<Item>>() {});? ?

? ? }



? ? static class Item {

? ? ? ? private String name;

? ? ? ? private String abbreviation;


? ? ? ? public String getName() {

? ? ? ? ? ? return name;

? ? ? ? }


? ? ? ? public void setName(String name) {

? ? ? ? ? ? this.name = name;

? ? ? ? }


? ? ? ? public String getAbbreviation() {

? ? ? ? ? ? return abbreviation;

? ? ? ? }


? ? ? ? public void setAbbreviation(String abbreviation) {

? ? ? ? ? ? this.abbreviation = abbreviation;

? ? ? ? }


? ? ? ? @Override

? ? ? ? public String toString() {

? ? ? ? ? ? return new StringBuilder().append("[name=").append(name).append(", abbreviation=").append(abbreviation).append("]")

? ? ? ? ? ? ? ? ? ? .toString();

? ? ? ? }

? ? }

}

澤西依賴項(xiàng)(Gradle):


implementation 'org.glassfish.jersey.core:jersey-client:2.25.1'

implementation 'org.glassfish.jersey.media:jersey-media-json-jackson:2.25.1'

implementation 'org.glassfish.jersey.media:jersey-media-jaxb:2.25.1'


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)