Json简介及fastJson使用

Json简介及fastJson使用

1、Json是用来干什么的?

Json(Javascript Object Notation)即Javascript对象的表示法。
程序运行过程会不断进行数据交换,Json相当于一种数据格式,可以在不同语言之间传输,并且其占用空间小,提高网络传输效率。而且这种数据格式非常方便,可以表示各种传输的数据类型。对象、数组、基本数据类型。这种数据格式解析非常简单,因此得到广泛使用。其主要特点有:跨语言、易解析、封装的数据包小。

2、Json长什么样?
Json数据格式是以键值的方式表示。
其语法规则为:
1、数据在名称/值对中
2、数据由逗号分隔
3、花括号保存对象
4、方括号保存数组
利用Json表示对象和数组:
{"name":"xiaohua","age":25,"marry":true}
{"persons":[
{"name":"xiaoming","age":20,"marry":false},
{"name":"xiaohong","age":22,"marry":false},
{"name":"xiaoli","age":25,"marry":true}

]}
3、fastJson使用方法

Java Json常用类库工具:fastjson、gjson、jackjson。这三个都是比较常用的json类库,下面以fastJson为例说明使用方法:

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class JsonUtils {
	
	// 对象转换为Json
	public static String objectToJson(Book  book) {
		return JSON.toJSONString(book);
	}
	// Json转换为对象
	public static Book jsonToObject(String json) {
		return JSON.parseObject(json, Book.class);
	}
	// List转Json
	public static String listToJson(List<Book> list) {
		return JSON.toJSONString(list);
	}
	// Json转List
	public static List<Book> jsonToList(String json) {
		return JSON.parseArray(json, Book.class);
	}
	// Map转Json
	public static String mapToJson(Map<String, Object> map) {
		return JSON.toJSONString(map);
	}
	// Json转Map
	public static Map<String, Object> jsonToMap(String json) {
		return JSON.parseObject(json, Map.class);
	}
	// Json数据操作
	public static String getProperty(String json, String id) {
		JSONObject jsonObj = JSON.parseObject(json);
		return jsonObj.getString(id);
	}
	public static String deleteProperty(String json, String id) {
		JSONObject jsonObj = JSON.parseObject(json);
		Set set = jsonObj.keySet();
		set.remove(id);
		return jsonObj.toJSONString();
	}
	public static String addProperty(String json, String key, String value) {
		JSONObject jsonObj = JSON.parseObject(json);
		jsonObj.put(key, value);
		return jsonObj.toJSONString();
	}
	
	public static void main(String[] args) {
		List<Book> list = new ArrayList<>();
		Book book = new Book();
		book.setId(UUID.randomUUID().toString());
		book.setBookName("追风筝的人");
		book.setPage(1);
		book.setSale(false);
		Book book1 = new Book();
		book1.setId(UUID.randomUUID().toString());
		book1.setBookName("追风筝的人");
		book1.setPage(2);
		book1.setSale(false);
		list.add(book);
		list.add(book1);
		System.out.println(listToJson(list));
		
		JSONArray jsonArray = JSON.parseArray(listToJson(list));
		Book book2 = new Book();
		book2.setId(UUID.randomUUID().toString());
		book2.setBookName("追风筝的人");
		book2.setPage(3);
		book2.setSale(false);
		jsonArray.add(book2);
		System.out.println(jsonArray.toJSONString());
		
		List<Book> list1 = jsonToList(listToJson(list));
		System.out.println(list1.get(0).getBookName());
		
		String json =  "{\"0\":\"jack\",\"1\":\"tom\"}";
		Map<String, Object> map = jsonToMap(json);
		for (String key : map.keySet()) {
			System.out.println(key+":"+map.get(key));
		}
		
		System.out.println(mapToJson(map));
		
		System.out.println(getProperty(json, "1"));
		
		System.out.println(deleteProperty(json, "1"));
		
		System.out.println(addProperty(json, "2", "jerry"));
	}
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值