如何使用Json进行数据格式传输

json简介

json的全称是JavaScript Object Notation,是一种数据交换格式,独立于编程语言,可以用来存储数据,优点是非常利于人类阅读和编写,同时也利于机器的解析和生成,同时还可以提升网络传输效率。json的数据格式是以名-值对的方式存储的,可以将其看做是一个字符串,下面就是一个json格式的数据:

{name:"Rong",age:"20”}

在javascript中已经内置了json的解析,在java中有非常多的第三方库可以解析json格式的数据,常用的一般是fastjson,fastjson相关jar包下载地址:http://pan.baidu.com/s/1jIagJII

  • JSON.toJSONString           将JavaBean转成json格式的字符串
  • JSON.parseObject              将json格式的字符串转换为JavaBean

具体使用方法如下:

city类

package com.rong.bean;

/**
 * 城市
 *
 */
public class City {
	
	//城市编号
	private int id;
	//城市名称
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

Province类

package com.rong.bean;

import java.util.List;

/**
 * 省份
 *
 */
public class Province {
	
	//省份名称
	private String name;
	
	//省份下的城市名称
	private List<City> cities;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public List<City> getCities() {
		return cities;
	}

	public void setCities(List<City> cities) {
		this.cities = cities;
	}
	
}

Test

package com.rong.test;

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

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.rong.bean.City;
import com.rong.bean.Province;

public class JsonTest {

	public static void main(String[] args) {
		//创建城市对象
				City c1 = new City();
				c1.setId(1005);
				c1.setName("石家庄");
				
				City c2 = new City();
				c2.setId(1006);
				c2.setName("唐山");
				
				City c3 = new City();
				c3.setId(1007);
				c3.setName("保定");
				
				List<City> cities = new ArrayList<>();
				cities.add(c1);
				cities.add(c2);
				cities.add(c3);
				
			
				//将citys转化为json对象
				String  cy = JSON.toJSONString(cities);
				System.out.println(cy);
				
				//将json格式转化为City对象
				Object city= JSON.parse(cy);
				System.out.println(city);
				
		
				
				//创建省份对象
				Province hebei = new Province();
				hebei.setName("河北");
				hebei.setCities(cities);
				
				//将Province对象转换为json格式
				String hebeiStr = JSON.toJSONString(hebei);
				System.out.println(hebeiStr);
				
				//将json格式的字符串转换为Province对象
				Province hebeiNew = JSON.parseObject(hebeiStr, Province.class);
				System.out.println(hebeiNew.getName());
	}

}
发布了60 篇原创文章 · 获赞 10 · 访问量 9206

猜你喜欢

转载自blog.csdn.net/chaseqrr/article/details/103739059