alibaba 实体转json_使用fastjson对JSON、实体类、列表转换

layout: post

title: 使用fastjson对JSON、实体类、列表转换

subtitle: 使用fastjson对JSON、实体类、列表转换

date: 2018-11-3

author: LY

header-img: img/post-bg-debug.png

catalog: true

tags:

- java

- ajax

- JSON

在这里小小推荐下我的个人博客

某宝优惠:优惠网站

使用fastjson对JSON、实体类、列表转换

导入jar包或者使用maven添加依赖

com.alibaba

fastjson

1.2.49

首先我们来写一个带有列表的实体类:

package com.entity;

import java.util.List;

public class Teacher {

private String id;

private String name;

private String info;

private List studentList;

public static class Student {

private String id;

private String name;

private String student_num;

@Override

public String toString() {

return "Student{" +

"id='" + id + '\'' +

", name='" + name + '\'' +

", student_num='" + student_num + '\'' +

'}';

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getStudent_num() {

return student_num;

}

public void setStudent_num(String student_num) {

this.student_num = student_num;

}

public Student(String id, String name, String student_num) {

this.id = id;

this.name = name;

this.student_num = student_num;

}

}

@Override

public String toString() {

return "Teacher{" +

"id='" + id + '\'' +

", name='" + name + '\'' +

", info='" + info + '\'' +

", studentList=" + studentList +

'}';

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getInfo() {

return info;

}

public void setInfo(String info) {

this.info = info;

}

public List getStudentList() {

return studentList;

}

public void setStudentList(List studentList) {

this.studentList = studentList;

}

public Teacher(String id, String name, String info, List studentList) {

this.id = id;

this.name = name;

this.info = info;

this.studentList = studentList;

}

}

你收到的JSON数据格式如下

{

"id":"1",

"name":"your_name",

"info":"你是一个好老师",

"studentList":[

{

"id":"1",

"name":"student_name1",

"student_num":"134233721"

},

{

"id":"2",

"name":"student_name2",

"student_num":"134233722"

},

{

"id":"3",

"name":"student_name3",

"student_num":"134233723"

},

{

"id":"4",

"name":"student_name4",

"student_num":"134233724"

}

]

}

接下来进行格式转换

package com.controller;

import com.alibaba.fastjson.JSON;

import com.leiyuan.entity.Teacher;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

@Controller

@RequestMapping("/test")

public class TestController {

/**

* 在这里进行转换

*

* @param json 假设json为请求参数

*/

@RequestMapping(value = "/transJson", method = RequestMethod.POST)

public void transJson(@RequestBody String json) {

System.out.println("原始数据==========" + json);

// 转化为teacher实体类

Teacher teacher = JSON.parseObject(json, Teacher.class);

System.out.println("转换为teacher实体类==========" + teacher.toString());

// 对teacher实体类中的studentList进行转换

}

}

输出结果如下

原始数据=========={

"id":"1",

"name":"your_name",

"info":"你是一个好老师",

"studentList":[

{

"id":"1",

"name":"your_name",

"student_num":"134233721"

},

{

"id":"2",

"name":"your_name",

"student_num":"134233722"

},

{

"id":"3",

"name":"your_name",

"student_num":"134233723"

},

{

"id":"4",

"name":"your_name",

"student_num":"134233724"

}

]

}

转换为teacher实体类==========Teacher{id='1', name='your_name', info='你是一个好老师', studentList=[Student{id='1', name='your_name', student_num='134233721'}, Student{id='2', name='your_name', student_num='134233722'}, Student{id='3', name='your_name', student_num='134233723'}, Student{id='4', name='your_name', student_num='134233724'}]}

如何将实体类转换为JSON数据?

// 直接调用如下方法

JSON.toJSONString(your_class);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值