【发布时间】:2020-02-24 18:21:36
【问题描述】:
我有一个名为 file.json 的 json 文件,其内容如下。
[ { "symbol": "AAPL", "quantity": 100, "tradeType": "BUY", "purchaseDate": "2019-01-02" }, { "symbol": "MSFT", "quantity": 10, "tradeType": "BUY", "purchaseDate": "2019-01-02" }, { "symbol": "GOOGL", "quantity": 50, "tradeType": "BUY", "purchaseDate": "2019-01-02" } ]
我需要使用 ObjectMapper 在 JAVA 中将字段 symbol 下的值作为 ["AAPL","MSFT","GOOGL"] 的列表。关于如何获取符号中的值的任何建议?对于一个单独的 json 条目,我发现了有关如何使用 getter 和 setter 使用 POJO 映射值的文章。我可以对这个问题做同样的事情吗?怎么样?
POJO
class Stock {
private String symbol;
private float quantity;
private String tradeType;
private String purchaseDate;
public String getSymbol(){
return this.symbol;
}
public float getQuantity(){
return this.quantity;
}
public String getTradeType(){
return this.tradeType;
}
public String getPurchaseDate(){
return this.purchaseDate;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public void setQuantity(float quantity) {
this.quantity = quantity;
}
public void setTradeType(String tradeType) {
this.tradeType = tradeType;
}
public void setPurchaseDate(String purchaseDate) {
this.purchaseDate = purchaseDate;
}
}
【问题讨论】:
-
是的,它的完成方式与单个条目完全相同,只是您使用 MyPojo[].class 作为类参数...然后它返回您的类的数组
MyPojo跨度> -
如果不想为此创建 POJO,可以使用 Jackson 的 Tree Model API。
-
如果你想花哨,可以使用JsonPath只选择你想要的字段。
-
MyPojo[].class 似乎不起作用
标签: java json parsing jackson-databind