如何将无效的json解析为pojo

时间:2019-07-15 13:12:21

标签: java json

这是我应该转换为pojo的示例输入。

 [{name=status, value=OK}, {name=desc, value=missing}, {name=lat, value=51.247049}, {name=lon, value=22.017532}]

那是pojo

public class Params {

    private String name;
    private String value;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}

由于此输入无效,因此无法将其解析为pojo。如何将json字符串解析为pojo?

否:我无法解决输入问题,因此这不是一种选择。

1 个答案:

答案 0 :(得分:1)

首先将内容转换为JSON似乎是不必要的额外步骤。

鉴于您已将Params设置为使用两个字符串,只要数据输入格式一致,编写正则表达式来解析您的输入就非常简单:

\{name=([a-zA-Z0-9.]+), value=([a-zA-Z0-9.]+)\}

这将为您提供一组分组,每组都有3个索引,代表整个比赛:

{name=status, value=OK}

只是名字:

status

还有值:

OK

然后,您可以遍历这组组并构建您的Param对象。如果您仍然需要这些的JSON表示形式,则应该可以轻松地将Param POJO转换为JSON值。