javabean转json (利用第三方jar包)

本文介绍如何使用Java反射机制将实体类对象及集合转换成JSON格式。通过具体示例演示了单个对象、对象列表乃至包含列表属性的对象到JSON的转换过程,并展示了如何将Map类型数据转换为JSON。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用反射机制,将实体类中的属性进行反射为json形式的数据


导入第三方jar包 (http://pan.baidu.com/s/1o88tHjG)


编写一个实体类:City.java

package com.mo.bean2json;

public class City {
	private int id;
	private String name;
	
	public City(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	
}
编写测试类;

·将一个实体类转换为json数据

@Test
	public void bean2json(){
		City city = new City(1,"广州");
		JSONArray jsonArray = JSONArray.fromObject(city);
		System.out.println(jsonArray);
		//[{"id":1,"name":"广州"}]
	}

·将一个list转换为json数据

@Test
	public void list2json(){
		List<City> list = new ArrayList<City>();
		list.add(new City(1,"广州"));
		list.add(new City(2,"珠海"));
		list.add(new City(3,"深圳"));
		JSONArray jsonArray = JSONArray.fromObject(list);
		System.out.println(jsonArray);
		//[{"id":1,"name":"广州"},{"id":2,"name":"珠海"},{"id":3,"name":"深圳"}]
	}

·将一个存在list的bean转换为json

编写一个bean

package com.mo.bean2json;

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

public class Province {
	private int id;
	private String name;
	private List<City> cityList = new ArrayList<City>();//这里的set get方法省略	
}

测试类

@Test
	public void beanlist2json(){
		List<City> list = new ArrayList<City>();
		list.add(new City(1,"广州"));
		list.add(new City(2,"珠海"));
		Province province = new Province(1,"广东",list);
		JSONArray jsonArray = JSONArray.fromObject(province);
		System.out.println(jsonArray);
		/*[
			{
				"id":1,
				"cityList":[{"id":1,"name":"广州"},{"id":2,"name":"珠海"}],
				"name":"广东"
			}
			]*/
	}


·map转json

@Test
	public void map2json(){
		List<City> list = new ArrayList<City>();
		list.add(new City(1,"广州"));
		list.add(new City(2,"珠海"));
		
		Map<String,Object> map = new LinkedHashMap<String,Object>();
		map.put("total",list.size());
		map.put("rows",list);
		
		JSONArray fromObject = JSONArray.fromObject(map);
		System.out.println(fromObject);
		/*[
		 {
			 "total":2,
			 "rows":[{"id":1,"name":"广州"},{"id":2,"name":"珠海"}]
		 }
		 ]*/
		
		//去掉外面的中括号
		String jsonJAVA = fromObject.toString();
		String substring = jsonJAVA.substring(1, jsonJAVA.length()-1);
		System.out.println(substring);
		/*{
			"total":2,
			"rows":[{"id":1,"name":"广州"},{"id":2,"name":"珠海"}]
		}*/
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值