Json简介及fastJson使用
2017-11-25 21:12
393 查看
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"));
}
}
相关文章推荐
- 阿里巴巴 - FastJson使用简介
- Fastjson简介和基本使用
- 阿里巴巴 - FastJson使用简介
- 阿里巴巴 - FastJson使用简介
- perl6 JSON::Fast模块json解析的使用
- FastJson和Jackson的使用
- Android常用Json解析框架GSON和FastJson的使用
- Android开发中使用fastJSON将json格式的数据快速解析生成实体类并附上实体类生成器
- fastJSON使用(二)——json转换成对象
- Spring-boot中使用fastjson作为json框架
- Java的Json解析包FastJson使用
- springBoot系列教程05:fastjson的集成、配置及使用
- fastjson泛型的使用
- FastJson简单使用(转载)
- Android学习笔记之Fast Json的使用
- fastjson常用使用方法
- SpringBoot学习-(2)使用FastJson作为json解析器
- spring boot使用fastJson解析数据
- FastJson-fastjson的简单使用(alibaba)
- 使用fastjson进行json字符串和List的转换