首页 专题 文章 代码 归档

Java解析非自定义JSON的最佳实践

1. 前言

说一下背景需求:

一般使用jackson等等类库都是直接与bean类相关联,一般都是:XX.readValue(jsonData,Bean.class),然后这些类库自动封装Bean的实体;

这一点错都没有,但是,这仅适用于数据都是自己的,那调用其他接口返回来的数组如何来做?

还专门写一个对应的bean类,然后调用方法?某方面来说也还行,但是如果数据多,并且我只需要某些数据的时候如何来做?


经过我这Java半吊子的实践,使用阿里的FastJson貌似可以到达要求;

当然,这也许不是很好的实践,但就目前来说,我觉得还不错;

2. 使用

1、Maven依赖

<!--fast json-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

2、使用

String string = "这是某个json数据";
JSONObject jsonObject = JSON.parseObject(string);//得到jsonObject对象;

上一步得到的jsonObject后,如果你的json数据是:

{"msg":"ok","state":1,"id":"123123","share_user":"xxxsfad","size":"0","share_date":"2019-04-30 16:03:06","is_dir":1,"filename":"xxxxx"}

这样的,没有涉及到数组,那么更简单了:

jsonObject.getString("xxx");
jsonObject.getString("xxxx");
jsonObject.getDate("share_date");
//....

就可以得到值了,当然,万一有数据,那么:

JSONArray jsonArray = jsonObject.getJSONArray();
for (Object o : jsonArray) {

}

还是调用getJSONArray,然后循环处理即可!!

是不是很方便!


当然,我还是更喜欢PHP的那种处理JSON,简单强大粗暴!

一个json_decode(xxx,true)走天下!!

此文阅读完毕,您可以:分享
二维码图片 扫描关注我们哟