【问题标题】:How to handle Java return JSONObject variable type if it can be an Array or a String如果它可以是数组或字符串,如何处理 Java 返回 JSONObject 变量类型
【发布时间】:2019-08-06 05:08:31
【问题描述】:

我尝试使用阿里巴巴 Fastjson Java 库解析 JSON 文件。

文件的 JSONObject 之一是数组或字符串。

下面是Java sn-p

@JSONField(name="States")
private Object[] states;

当 JSONObject 是一个数组时可以使用,但是当返回类型是 String 时会抛出异常。

知道我该怎么做。变量 type = Object[] 似乎不够好。

【问题讨论】:

  • @Deadpool OP 使用的是不同的库,所以这不是重复的。

标签: java json fastjson


【解决方案1】:

@JSONField这个注解也可以用在setter方法上

 @JSONField(name="states")
 public void setStates(Object states) {

   if(states instanceof String[]) {
        String[] statesArray = (String[]) states;
        this.states = statesArray;
    } else {
        this.states = new String[] {states.toString()};
    }
 }

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多