[英]Return string parsing JSON (format GSON)
我有下一個代碼:
public class Footballer {
private String name;
private int number;
private Position[] positions;
public Footballer(String name, int number, Position[] positions){
setName(name);
setNumber(number);
setPositions(positions);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number){
this.number = number;
}
public Position[] getPositions() {
return positions;
}
public void setPositions(Position[] positions){
this.positions = positions;
}
public String getJSON(){
}
}
我有這個測試:
void testJson() {
assertEquals("{\"name\":\"Buffon\",\"number\":1,\"positions\":[\"GOALKEEPER\"]}", footballer1.getJSON());
assertEquals("{\"name\":\"Pedri\",\"number\":9,\"positions\":[\"MIDFIELDER\",\"FORWARD\"]}", footballer2.getJSON());
}
我必須對 getJSON 方法進行編碼才能獲得您可以在測試中看到的結果。 如何在一行中編寫方法?
我必須使用 GSON。
謝謝
對於cannot resolve symbol Gson
,(當然)您必須:
import com.google.gson.Gson; // within your "import directives" ("between package and class declaration";)
..並使庫在(編譯和運行時)類路徑上可用。
在定義(靜態) Gson
對象后(在Footballer
類或某處..):
private static Gson DA_GSON = new Gson();
您可以定義您的“1-line-gson-method”,例如:
public String getJSON(){
return DA_GSON.toJson(this);// this hopefully never null!;)
// and of course you could also "new Gson()" every time...
}
如果您的“玩家”初始化如下:
Footballer footballer1 = new Footballer("Buffon", 1, {Position.GOALKEEPER}); //Position enum!(?)
Footballer footballer2 = new Footballer("Pedri", 9, {Poistion.MIDFIELDER, Position.FORWARD});
..您/我們的測試可以通過!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.