JavaWeb實體類轉(zhuǎn)為json對象的實現(xiàn)方法
1.創(chuàng)建個實體類
實體類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; }
我沒有自己寫構(gòu)造函數(shù)和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集合轉(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); } }
啟動服務(wù)訪問http://127.0.0.1:8080/web/user
訪問結(jié)果:
OK,到此就完成實體類轉(zhuǎn)為json對象的需求了。更多相關(guān)Java實體類轉(zhuǎn)為json對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springmvc @ResponseStatus和ResponseEntity的使用
這篇文章主要介紹了springmvc @ResponseStatus和ResponseEntity的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07JAVA?Springboot配置i18n國際化語言詳細(xì)步驟
國際化(Internationalization,縮寫為i18n)是指根據(jù)來展示不同的內(nèi)容,使應(yīng)用程序能夠適應(yīng)不同的語言和文化習(xí)慣,下面這篇文章主要給大家介紹了關(guān)于JAVA?Springboot配置i18n國際化語言的詳細(xì)步驟,需要的朋友可以參考下2024-08-08Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析
這篇文章主要介紹了Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03