Java 处理json经常使用代码

Java 处理json经常使用代码

大家好,又见面了,我是全栈君。

本project代码已上传至资源,如有须要,请自行下载。
package com.michael;

import static org.junit.Assert.assertEquals;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.commons.beanutils.PropertyUtils;
import org.junit.Test;

public class JsonLibTest {
	/**
	 * 将数组转换为json对象
	 */
	// @Test
	public void testArrayToJSON() {
		boolean[] boolArray = new boolean[] { true, false, true };
		JSONArray jsonArray = JSONArray.fromObject(boolArray);
		System.out.println("testArrayToJSON----jsonArray-----" + jsonArray);
	}

	/**
	 * 将集合转换为json
	 */
	// @Test
	public void testListToJSON() {
		List<String> list = new ArrayList<String>();
		list.add("first");
		list.add("second");
		JSONArray jsonArray = JSONArray.fromObject(list);
		System.out.println("testListToJSON---jsonArray----" + jsonArray);
	}

	/**
	 * 将json字符串转换为json对象
	 */
	@Test
	public void testJsonStrToJSON() {
		JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']");
		System.out.println("testJsonStrToJSON---jsonArray----" + jsonArray);
	}

	/**
	 * 将map转换为json对象
	 */
	@Test
	public void testMapToJSON() {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name", "json");
		map.put("bool", Boolean.TRUE);
		map.put("int", new Integer(1));
		map.put("arr", new String[] { "a", "b" });
		map.put("func", "function(i){ return this.arr[i]; }");
		JSONObject jsonObject = JSONObject.fromObject(map);
		System.out.println("testJsonStrToJSON---jsonObject----" + jsonObject);
	}

	// 将实体类转换为json
	@Test
	public void testBeadToJSON() {
		Car bean = new Car();
		bean.setId("001");
		bean.setName("hello");
		bean.setDate(new Date());

		List<Car> cars = new ArrayList<Car>();
		cars.add(new Car("AUDI"));
		cars.add(new Car("BMW"));
		cars.add(new Car("QQ"));
		// cars.add(new Person("test"));
		bean.setCars(cars);
		JSONObject jsonObject = JSONObject.fromObject(bean);
		System.out.println("testBeadToJSON---jsonObject----" + jsonObject);

	}

	@Test
	/**
	 * 将json字符串转换为对象
	 * @throws Exception
	 */
	public void testJSONToObject() throws Exception {
		String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";
		JSONObject jsonObject = JSONObject.fromObject(json);
		Object bean = JSONObject.toBean(jsonObject);
		assertEquals(jsonObject.get("name"),
				PropertyUtils.getProperty(bean, "name"));
		assertEquals(jsonObject.get("bool"),
				PropertyUtils.getProperty(bean, "bool"));
		assertEquals(jsonObject.get("int"),
				PropertyUtils.getProperty(bean, "int"));
		assertEquals(jsonObject.get("double"),
				PropertyUtils.getProperty(bean, "double"));
		assertEquals(jsonObject.get("func"),
				PropertyUtils.getProperty(bean, "func"));

		List arrayList = (List) JSONArray.toCollection(jsonObject
				.getJSONArray("array"));
		for (Object object : arrayList) {
			System.out.println(object);
		}

	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115940.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于Kubernetes集群的Jenkins CI/CD版本上线流程部署

    基于Kubernetes集群的Jenkins CI/CD版本上线流程部署基于kubernetes平台的CICD持续集成文章目录基于kubernetes平台的CICD持续集成1.基于k8s集群的Jenkins持续集成2.将Jenkins部署在k8s集群2.1.编写Jenkinsnamespace文件2.2.编写Jenkinsrbac授权文件2.3.编写Jenkinsstatefulset资源文件2.4.编写JenkinsStorageClass资源文件2.5.编写Jenkinssvc资源文件2.6.准备Jenkins镜像并推送至harbor2.7.创建所有资源并查看资

  • 计算机水平考试模块数量,职称计算机考试科目、模块数量是什么「建议收藏」

    计算机水平考试模块数量,职称计算机考试科目、模块数量是什么「建议收藏」职称计算机考试科目、模块数量是什么全国计算机应用能力考试坚持”实事求是,区别对待,逐步提高”的原则,不同地区、不同部门根据本地区、本部门的实际情况,确定适合本地区、本部门的考试范围要求。1、不同地区和部门自主确定应考科目数量在对专业技术人员计算机应用能力的具体要求上,各省、自治区、直辖市人事厅(局)和国务院有关部门干部(人事)部门应结合本地区、本部门的实际情况,确定本地区、本部门在评聘专业技术职务…

  • 基于 SpringBoot + Vue 的商城系统附带小程序源码

    简介 又一个小商场系统,Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端。 项目架构 技术栈 Spring Boo…

  • 如何将Eclipse设置为中文版[通俗易懂]

    如何将Eclipse设置为中文版[通俗易懂]如何将Eclipse设置为中文版我们知道Eclipse一个开放源代码的、基于Java的可扩展开发平台,不管学习还是工作都是一款不错的集成开发环境(IDE),但是对于一些初学者看到Eclipse上

  • 数据可视化与大数据分析

    数据可视化与大数据分析 商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。而数据分析是商业智通的途径之一,而大数据分析的结果可视化,对经营决策将起着关键作用。 数据可视化软件可以让数据分析师和业务用户利用图表、图形传达信息,帮助读者更加直观地理解数据背后的故事。但试图基于数据可视化来讲述故事的时候,你必须小心,特别是当你长时间沉浸在分析工作中受到熟悉内容蒙蔽的时候。要确…

  • ODS概念总结_ODS系统

    ODS概念总结_ODS系统概念DB(Database)数据库ODS(OperationalDataStore)运营数据存储DW(DataWarehouse)数据仓储DM(DataMarket)数据集市ODS产生背景人们对数据的处理行为可以划分为事务型数据处理(OLTP,On-LineTransactionProcessing)和分析型数据处理(OLAP,On-LineAnalyticProces…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号