【发布时间】:2019-04-07 15:22:48
【问题描述】:
我有一个这样的对象:
public class Marketplace {
private String name;
private int id;
private List<String> supportedLanguages;
}
我有一个像这样的输入 Json 格式字符串:
{
"name":"US",
"id":1,
"supportedLanguages":{"en_US", "es_US"}
}
我先尝试了类似的方法但失败了:
objectMapper.readValue(marketplaceInJsonString, Marketplace.class);
然后我尝试了类似的方法但仍然失败:
JsonNode jsonNode = objectMapper.readValue(marketplaceInJsonString, JsonNode.class);
Marketplace marketplace = new Marketplace(jsonNode.get("name").asText()), jsonNode.get("id").asInt(), jsonNode.findValuesAsText("supportedLanguages"));
我认为这里的关键问题是我没有找到将supportedLanguages 映射为字符串列表的正确方法。
Json String 输入有没有格式问题?
请帮忙,非常感谢。
【问题讨论】:
-
是否可以将
"supportedLanguages":{"en_US", "es_US"}更改为"supportedLanguages":["en_US", "es_US"]?因为 json 无效。
标签: java json list objectmapper