java利用fastjson解析json数组、json字符串[亲测有效]

java利用fastjson解析json数组、json字符串[亲测有效]在做微信公众号开发时,调用接口返回一个如下形式的json字符串:由于后续需要用到返回值,于是需要对这个json数组进行解析转换现在将这个json字符串转换成一个list类型的数组首先创建一个类:publicclassTagInfo{privateObjecttags;publicObjectgetTags(){returngroups;}publicvoidsetTags(Objecttags){th

大家好,欢迎来到IT知识分享网。

在做微信公众号开发时,调用接口返回一个如下形式的json字符串:

java利用fastjson解析json数组、json字符串[亲测有效]

由于后续需要用到返回值,于是需要对这个json字符串进行解析转换

现在将这个json字符串转换成一个list类型的数组

首先创建一个类:

public class TagInfo {
    private Object tags;

    public Object getTags() {
        return tags;
    }

    public void setTags(Object tags) {
        this.tags= tags;
    }
}

然后为里面的list数组创建Tag类

public class Tag{
    long id;
    String name;
    long count;
//此处省略get、set方法
}

然后进行转换

public static List<Tag> getAllTags() {
        String jsonTagInfo = tagInfo;//tagInfo就是上面需要转换的json字符串
        JSONObject jsonObject;
        List<Tag> tagList = new ArrayList<>();//用来存放由json字符串转换的list数组
        try{
        //先将json字符串转换成jsonObject对象
        jsonObject = new JSONObject(JSON.parseObject(jsonTagInfo));
        //将转换后的jsonObject对象转换成TagInfo对象
        TagInfo tagInfo = (TagInfo) JSONObject.toJavaObject(jsonObject,TagInfo.class);
        //将tagInfo中的jsonObject数组转换成list对象 方法1
        tagList = JSONObject.parseArray(tagInfo.getTags().toString(), Tag.class);
        //将tagInfo中的jsonObject数组转换成list对象 方法2 
        tagList = ((JSONArray)tagInfo.getTags()).toJavaList(Tag.class);
        } catch (JSONException e) {
            throw new RuntimeException(e.getMessage(), e);
        }
          return tagList;
    }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24632.html

(0)
上一篇 2023-08-17 09:00
下一篇 2023-08-18 12:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信