![](/img/trans.png)
[英]convert List<Object> to List<HashMap<String,Double>> for a json array
[英]Read String json array and convert to List object
我有以下來自數據庫的 json 字符串。 我必須閱讀 json 並返回等效的 java 類。 json字符串:
{
"Items": [
{
"mode": "old",
"processing": [
"MANUAL"
]
},
{
"mode": "new",
"processing": [
"AUTO"
]
}
]
}
物品類
public class Items {
private String mode;
private List<String> processing;
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
public List<String> getProcessing() {
return processing;
}
public void setProcessing(List<String> processing) {
this.processing = processing;
}
}
在這里,我嘗試使用ObjectMapper.readValue()
方法讀取上述 json 字符串數組並將其轉換為 List。 我試過下面的代碼
ObjectMapper mapper=new ObjectMapper();
List<Items> actions = Arrays.asList(mapper.readValue(json, Items[].class));
並得到錯誤
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "actions" (class ), not marked as ignorable (2 known properties: "mode", "processing"])at [Source: (String)"{
"items":[
{
"mode": "old",
"processing": ["MANUAL"]
},
{
"mode": "new",
"processing": ["AUTO"]
}
]
}"; line: 2, column: 13]
對於json本身,可以嘗試使用本網站生成pojo類https://www.jsonschema2pojo.org/
了解解析 json 所需的類真的很有幫助。 對於您發布的示例,您需要的是 2 個類。
這是外部 json 的 POJO。
public class ExampleObject {
@JsonProperty("Items")
public List<Item> items = null;
}
這個是給你的 Item 類的
public class Item {
@JsonProperty("mode")
public String mode;
@JsonProperty("processing")
public List<String> processing = null;
//Dont forget to put your setter getter in here.
}
之后,只需使用您的代碼將該 json 解析為新類。
ObjectMapper mapper = new ObjectMapper();
List<Items> actions = Arrays.asList(mapper.readValue(json, ExampleObject.class));
希望有幫助,加油
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.