溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在JavaWeb項(xiàng)目中將實(shí)體類轉(zhuǎn)換為json對(duì)象

發(fā)布時(shí)間:2020-12-21 14:52:29 來源:億速云 閱讀:186 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎么在JavaWeb項(xiàng)目中將實(shí)體類轉(zhuǎn)換為json對(duì)象,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.創(chuàng)建個(gè)實(shí)體類

實(shí)體類User代碼:

package com.neuedu.entity;

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

import java.util.Date;

/**
 * Keafmd
 *
 * @ClassName: User
 * @Description: user實(shí)體類
 * @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;

}

我沒有自己寫構(gòu)造函數(shù)和Setter(),Getter()以及toString()方法,而是使用了lombok自動(dòng)生成的。

2.使用類庫 fastjson

添加依賴:

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

3.測(cè)試一下

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測(cè)試類
 * @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集合轉(zhuǎn)換成 json


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


    System.out.println(json);

  }
}

 運(yùn)行結(jié)果:

[{"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);
  }
}

啟動(dòng)服務(wù)訪問http://127.0.0.1:8080/web/user

訪問結(jié)果:

怎么在JavaWeb項(xiàng)目中將實(shí)體類轉(zhuǎn)換為json對(duì)象

上述就是小編為大家分享的怎么在JavaWeb項(xiàng)目中將實(shí)體類轉(zhuǎn)換為json對(duì)象了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI