ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Json的使用和FastJSON的使用

2021-01-31 17:00:03  阅读:266  来源: 互联网

标签:FastJSON job String dname json empno Json 使用 public


利用Json保存员工信息

创建emp.json文件

[
	{
		"empno": 110,
		"ename": "李白",
		"job": "软件工程师",
		"hiredate": "2021-01-12",
		"salary": 13000,
		"dname": "开发部"
	},
	{
		"empno": 111,
		"ename": "王维",
		"job": "客户经理",
		"hiredate": "2020-11-23",
		"salary": 23000,
		"dname": "市场部",
		"customers": [
			{
				"cname": "小白"
			},
			{
				"cname": "小明"
			},
			{
				"cname": "jack"
			}
		]
	},
	{
		"empno": 111,
		"ename": "杜甫",
		"job": "项目经理",
		"hiredate": "2000-10-13",
		"salary": 30000,
		"dname": "市场部"
	}
]

使用js访问json数据

sample.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	var json = [ {
		"empno" : 110,
		"ename" : "李白",
		"job" : "软件工程师",
		"hiredate" : "2021-01-12",
		"salary" : 13000,
		"dname" : "开发部"
	}, {
		"empno" : 111,
		"ename" : "王维",
		"job" : "客户经理",
		"hiredate" : "2020-11-23",
		"salary" : 23000,
		"dname" : "市场部",
		"customers" : [ {
			"cname" : "小白"
		}, {
			"cname" : "小明"
		}, {
			"cname" : "jack"
		} ]
	}, {
		"empno" : 111,
		"ename" : "杜甫",
		"job" : "项目经理",
		"hiredate" : "2000-10-13",
		"salary" : 30000,
		"dname" : "市场部"
	} ];
	//控制台输出
	console.log(json);
	for(var i=0;i<json.length;i++){
		var emp=json[i];
		document.write("<h1>");
		document.write("序号:"+(i+1));
		document.write(","+emp.empno);
		document.write(","+emp.ename);
		document.write(","+emp.job);
		document.write(","+emp.hiredate);
		document.write(","+emp.salary);
		document.write(","+emp.dname);
		document.write("</h1>");
		if(emp.customers!=null){
			document.write("<h2>");
				for(var j=0;j<emp.customers.length;j++){
					var cus=emp.customers[j];
					document.write(cus.cname+"  ");
				}
			document.write("</h2>");
		}
	}
	
</script>
</head>
<body>

</body>
</html>

Json与字符串对象互相转换

  • JSON.parse()方法将字符串转换为JSON对象
<script type="text/javascript">
	var str="{\"class_name\":\"软件工程1班\"}"; //字符串
	var json=JSON.parse(str);   //字符串转json对象
	console.log(json);
	console.log(str);
	document.write("班级:"+json.class_name);
</script>
  • JSON.stringify()方法将JSON对象转换为字符串
<script type="text/javascript">
	var json1={"class_name":"计算机科学2班"};  //json对象转字符串
	var str1=JSON.stringify(json1);
	console.log(json1);
	console.log(str1);
</script>

FastJSON的使用

java的JSON的工具包,把java对象转换成json对象

下载https://github.com/alibaba/fastjson/wiki/Quick-Start-CN

对象序列化与反序列化

Employee.java

package com.ulikeme.json;

import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;

public class Employee {
	private Integer empno;
	private String ename;
	private String job;
	/**
	 * 此注解对日期输出进行格式化
	 */
	@JSONField(format="yyyy-MM-dd")
	private Date hdate;
	private Float salary;
	/**
	 * 此注解设置不对dname序列化
	 */
	@JSONField(serialize=false)
	private String dname;
	public 	Employee(Integer empno, String ename, String job, Date hdate, Float salary, String dname) {
		super();
		this.empno = empno;
		this.ename = ename;
		this.job = job;
		this.hdate = hdate;
		this.salary = salary;
		this.dname = dname;
	}
	public Integer getEmpno() {
		return empno;
	}
	public void setEmpno(Integer empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public Date getHdate() {
		return hdate;
	}
	public void setHdate(Date hdate) {
		this.hdate = hdate;
	}
	public Float getSalary() {
		return salary;
	}
	public void setSalary(Float salary) {
		this.salary = salary;
	}
	public String getDname() {
		return dname;
	}
	public void setDname(String dname) {
		this.dname = dname;
	}
	
	
	
}

 FastJsonSample1.java

package com.ulikeme.json;

import java.util.Calendar;

import com.alibaba.fastjson.JSON;

public class FastJsonSample1 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		//设置时间
		Calendar c=Calendar.getInstance();
		c.set(2018, 00, 20);
		Employee employee=new Employee(110, "李白", "程序员",c.getTime() ,10000f, "开发部");
		//FastJson中提供了Json对象,完成对象与json对象的互相转换
		String json= JSON.toJSONString(employee);
		System.out.println(json);
		System.out.println("---------------------");
		//将json转换成对象
		 Employee emp= JSON.parseObject(json, Employee.class);
		 System.out.println(emp.getEname());
		
	}

}

对象数组序列化与反序列化


public class FastJsonSample2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		List emplist=new ArrayList();
		for(int i=1;i<=10;i++) {
			Employee employee=new Employee();
			employee.setEmpno(100+i);
			employee.setEname("员工"+i);
			emplist.add(employee);
		}
		//可以把数组,list,set进行json格式化输出
		System.out.println();
		String json= JSON.toJSONString(emplist);
		System.out.println(json);
		//json数组转换成对象
		List<Employee> emps=JSON.parseArray(json,Employee.class);
		for(Employee e:emps) {
			System.out.println(e.getEname()+":"+e.getEmpno());
		}
	}

}

 

 

标签:FastJSON,job,String,dname,json,empno,Json,使用,public
来源: https://blog.csdn.net/li__po/article/details/113477238

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有