FastJson 简单使用

一、FastJson 简单使用

下面是几个常用的 JSON 解析类库:

  • Gson: 谷歌开发的 JSON 库,功能十分全面。
  • FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
  • Jackson: 社区十分活跃且更新速度很快。

1.依赖

添加依赖,我这里使用的阿里巴巴的fastjson。

        <!-- fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.68</version>
        </dependency>

编写Controller,用于测试

主要为以下两种:

  • Java对象 转 JSON字符串
  • json字符串 转 Java对象

2.测试类

@RestController
public class JsonController {
    /*
        JSON字符串格式:{"?":"?","key":"value"}
     */
    /** Java对象(ModelMap) 转 JSON字符串 */
    @GetMapping(path = "j1", produces = "application/json; charset=utf-8")
    public String json01(ModelMap mp) {
        mp.put("键", "值");
        mp.put("key", "value");
        // Java 对象(ModelMap) 转 --> JSON 字符串
        String json = JSON.toJSONString(mp);
        return json;
    }

    /** Java对象(ModelMap) 转 JSON字符串 */
    @GetMapping(path = "j2", produces = "application/json; charset=utf-8")
    public String json02(ModelMap mp) {
        mp.put("键", "值");
        mp.put("key", "value");
        // Java 对象(ModelMap) 转 --> JSON 对象(JSONObject对象)
        JSONObject jsonObject = (JSONObject) JSON.toJSON(mp);
        // JSON 对象(JSONObject) 转 --> json 字符串
        String json = jsonObject.toJSONString();
        return json;
    }
    /** json字符串 转 Java对象(JSONObject对象) */
    @GetMapping(path = "j3", produces = "text/html; charset=utf-8")
    public String json03() {
        String json = "{'键':'值','key':'value'}";
        // json字符串 转 --> JSON对象(JSONObject对象)
        JSONObject jo = (JSONObject)JSON.parse(json);
        // 输出Java对象(JSONObject)的字符串形式
        return jo.toJSONString();
    }
    /** json字符串 转 Java对象(Map对象) */
    @GetMapping(path = "j4", produces = "text/html; charset=utf-8")
    public String json04() {
        String json = "{'键':'值','key':'value'}";
        // json字符串 转 --> Java对象(Map对象)
        Map map = JSON.parseObject(json, Map.class);
        // 输出Java对象(Map)的字符串形式
        return map.toString();
    }
}

浏览器访问输出:分别是

前两个是一样的。

{"键":"值","key":"value"}
{"键":"值","key":"value"}

第三个是java中的JSONObject对象的字符串形式。

{"键":"值","key":"value"}

第四个是java中的Map对象的字符串形式。

{=, key=value}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值