首页 > 编程语言 > JavaWeb实体类转为json对象的实现方法
2020
12-22

JavaWeb实体类转为json对象的实现方法

1.创建个实体类

实体类User代码:

package com.neuedu.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * Keafmd
 *
 * @ClassName: User
 * @Description: user实体类
 * @author: 牛哄哄的柯南
 * @date: 2020-12-17 14:08
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

  private Integer id;
  private String name;
  private String address;
  private Date date;

}

我没有自己写构造函数和Setter(),Getter()以及toString()方法,而是使用了lombok自动生成的。

2.使用类库 fastjson

添加依赖:

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

3.测试一下

JsonTest 代码:

package com.neuedu.entity;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Keafmd
 *
 * @ClassName: Test
 * @Description: user测试类
 * @author: 牛哄哄的柯南
 * @date: 2020-12-17 14:10
 */

public class JsonTest {

  @Test
  public void test(){
    List userList = new ArrayList();
    userList.add(new User(1,"牛哄哄的柯南1","某某省某某市1",new Date()));
    userList.add(new User(2,"牛哄哄的柯南2","某某省某某市2",new Date()));
    userList.add(new User(3,"牛哄哄的柯南3","某某省某某市3",new Date()));
    userList.add(new User(4,"牛哄哄的柯南4","某某省某某市4",new Date()));
    userList.add(new User(5,"牛哄哄的柯南5","某某省某某市5",new Date()));
    userList.add(new User(6,"牛哄哄的柯南6","某某省某某市6",new Date()));


    //List集合转换成 json


    String json = JSON.toJSONString(userList,  SerializerFeature.WriteDateUseDateFormat );


    System.out.println(json);

  }
}

 运行结果:

[{"address":"某某省某某市1","date":"2020-12-17 21:09:21","id":1,"name":"牛哄哄的柯南1"},
{"address":"某某省某某市2","date":"2020-12-17 21:09:21","id":2,"name":"牛哄哄的柯南2"},
{"address":"某某省某某市3","date":"2020-12-17 21:09:21","id":3,"name":"牛哄哄的柯南3"},
{"address":"某某省某某市4","date":"2020-12-17 21:09:21","id":4,"name":"牛哄哄的柯南4"},
{"address":"某某省某某市5","date":"2020-12-17 21:09:21","id":5,"name":"牛哄哄的柯南5"},
{"address":"某某省某某市6","date":"2020-12-17 21:09:21","id":6,"name":"牛哄哄的柯南6"}]

Process finished with exit code 0

4.Controller代码

UserController代码:

package com.neuedu.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.neuedu.entity.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * Keafmd
 *
 * @ClassName: UserController
 * @Description: UserController
 * @author: 牛哄哄的柯南
 * @date: 2020-12-17 14:20
 *
 *
 * http://127.0.0.1:8080/web/user
 */

@WebServlet(name="UserController" ,urlPatterns = "/user")
public class UserController extends HttpServlet {

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    List userList = new ArrayList();
    userList.add(new User(1,"牛哄哄的柯南1","某某省某某市1",new Date()));
    userList.add(new User(2,"牛哄哄的柯南2","某某省某某市2",new Date()));
    userList.add(new User(3,"牛哄哄的柯南3","某某省某某市3",new Date()));
    userList.add(new User(4,"牛哄哄的柯南4","某某省某某市4",new Date()));
    userList.add(new User(5,"牛哄哄的柯南5","某某省某某市5",new Date()));
    userList.add(new User(6,"牛哄哄的柯南6","某某省某某市6",new Date()));

    String json = JSON.toJSONString(userList,  SerializerFeature.WriteDateUseDateFormat  );


    resp.setContentType("application/json");
    resp.setCharacterEncoding("utf-8");
    PrintWriter out = resp.getWriter();
    out.write(json);
    out.flush();
    out.close();

  }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    this.doGet(req, resp);
  }
}

启动服务访问http://127.0.0.1:8080/web/user

访问结果:

OK,到此就完成实体类转为json对象的需求了。更多相关Java实体类转为json对象内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

编程技巧