我有一些領域的類:
public class GsonRepro {
class A {
private List<String> field1 = new ArrayList<>();
private String name;
private Integer status;
public A(){
}
public List<String> getfield1() { return field1; }
public void setField1(List<String> field1) { this.field1 = field1; }
public String getName() { return name; }
public void setName() { this.name = name; }
public Integer getStatus() { return status; }
public void setStatus(int status) { this.status = status; }
}
public static void main(String[] args) {
String str = "{\"name\":\"my-name-1\",\"status\":0,\"field1\":[\"0eac6b1d3d494c2d8568cd82d9d13d5f\"]}";
A a = new Gson().fromJson(str, A.class);
}
}
所有欄位都已決議,但是List<String> field1,我怎樣才能讓它作業?
解決方案:
上面的代碼作業得很好。最初,我只是在串列欄位中輸入了一個錯字。
uj5u.com熱心網友回復:
我嘗試使用您共享的上述代碼,并且作業正常,沒有任何問題。請檢查以下代碼并驗證,
public static void main(String[] args) {
String str = "{\"name\":\"my-name-1\",\"status\":0,\"field1\":[\"0eac6b1d3d494c2d8568cd82d9d13d5f\"]}";
A a = new Gson().fromJson(str, A.class);
System.out.println(a.getName());
System.out.println(a.getStatus());
System.out.println(a.getfield1());
}
以下是在控制臺上列印的輸出,
my-name-1
0
[0eac6b1d3d494c2d8568cd82d9d13d5f]
uj5u.com熱心網友回復:
您可以嘗試在另一個問題的答案中使用TypeToken 。
對你來說,它看起來像這樣:
import java.lang.reflect.Type;
import com.google.gson.reflect.TypeToken;
...
Type type = new TypeToken<A>(){}.getType();
A a = new Gson().fromJson(str, type);
問候
uj5u.com熱心網友回復:
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
class A {
private List<String> field1 = new ArrayList<>();
private String name;
private Integer status;
public A() {
}
public List<String> getfield1() {
return field1;
}
public void setField1(List<String> field1) {
this.field1 = field1;
}
public String getName() {
return name;
}
public void setName() {
this.name = name;
}
public Integer getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
public class GsonParseList {
public static void main(String[] args) {
String str = "{'name':'my-name-1','status':0,'field1':['0eac6b1d3d494c2','d8568cd82d9d13d5f']}";
A a = new Gson().fromJson(str, A.class);
System.out.println(a.getfield1());
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/410068.html
標籤:
