GSON:将键的字符串值解析为列表<string>

时间:2018-09-26 14:00:40

标签: json gson jackson2 jackson-databind

我有一个庞大的JSON。

其中一个键可以将 String或List 作为其值(基于JSON中的一些随机键)。 一个JSON可以具有以下类型的多个JSON对象。

示例:

 {  
   "title":[ "active", "Paused"],            
   "value":[ "a","p"],
   "global_identifier":"campaign_status"
 } 

OR

{
"title":"2",
"value":2,
"global_identifier":"campaign_budget",
}

我创建的POJO可以具有字符串或列表。无论哪种方式,它都无法将JSON解析为Java对象。

班级摘要:

@JsonProperty("title")
private List<String> title;
@JsonProperty("value")
private Object value;
@JsonProperty("title")
public List<String> getTitle() {return title;}

@JsonProperty("title")
public void setTitle(List<String> title) {this.title = title;}

有没有一种方法可以在解析JSON时将单个字符串值作为List处理。我尝试了很少的网络发布的解决方案,但徒劳无功。

我也尝试了以下参数。但这也不起作用。

@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
private List<String> value;

我收到以下错误:

由以下原因引起:java.lang.IllegalStateException:预期为BEGIN_ARRAY,但在第1行第3951列的路径上为STRING

谢谢。

0 个答案:

没有答案