zoukankan      html  css  js  c++  java
  • Java对象返回JSON的方法

    1.自己编写工具类

    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.SerializationFeature;

    import java.text.SimpleDateFormat;

    public class JsonUtils {
       
       public static String getJson(Object object) {
           return getJson(object,"yyyy-MM-dd HH:mm:ss");
      }

       public static String getJson(Object object,String dateFormat) {
           ObjectMapper mapper = new ObjectMapper();
           //不使用时间差的方式
           mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
           //自定义日期格式对象
           SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
           //指定日期格式
           mapper.setDateFormat(sdf);
           try {
               return mapper.writeValueAsString(object);
          } catch (JsonProcessingException e) {
               e.printStackTrace();
          }
           return null;
      }
    }

    我们使用工具类,代码就更加简洁了!

    @RequestMapping("/json5")
    public String json5() throws JsonProcessingException {
       Date date = new Date();
       String json = JsonUtils.getJson(date);
       return json;
    }

    2.fastjson

    fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。实现json的转换方法很多,最后的实现结果都是一样的。

    fastjson 的 pom依赖!

    <dependency>
       <groupId>com.alibaba</groupId>
       <artifactId>fastjson</artifactId>
       <version>1.2.60</version>
    </dependency>

    fastjson 三个主要的类:

    JSONObject  代表 json 对象

    • JSONObject实现了Map接口, 猜想 JSONObject底层操作是由Map实现的。

    • JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方法获取"键:值"对的个数和判断是否为空。其本质是通过实现Map接口并调用接口中的方法完成的。

    JSONArray   代表 json 对象数组

    • 内部是有List接口中的方法来完成操作的。

    JSON代表 JSONObject和JSONArray的转化

    • JSON类源码分析与使用

    • 仔细观察这些方法,主要是实现json对象,json对象数组,javabean对象,json字符串之间的相互转化。

    •  

  • 相关阅读:
    springcloud(三)
    springcloud(二)
    spring-cloud(一)
    springboot(三)
    springboot(二)
    springboot(一)
    dubbox
    SpringBoot终章(整合小型进销系统)
    SpringBoot第三节(thymeleaf的配置与SpringBoot注解大全)
    SpringBoot--集成Shiro
  • 原文地址:https://www.cnblogs.com/returnZero/p/14282110.html
Copyright © 2011-2022 走看看