什么是Json
-
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它是js规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
-
JSON 语法规则
- 对象表示为键值对
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
-
与xml文件比较
- 可读性,JSON是简易的语法,XML是规范的标签形式,很难分出胜负。
- 可扩展性 都有很好的扩展性,不过JSON在Javascript常用,可以存储Javascript复合对象。
- 编码难度 XML有丰富的编码工具,比如Dom4j、Dom、SAX等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。
-
Json和我们的AJAX是非常好的搭档
Java中Json与对象,数组,list,map,之间的转换
- maven依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier> <!-- 注意这个要-->
</dependency>
- Java对象和Json之间的转换
//将java对象转换成json
JSONObject jsonObject1 = JSONObject.fromObject(user);
System.out.println("--------对象使用JSONObject.fromObject转换json--------");
System.out.println(jsonObject1);
//把json转换成java对象
Object user1 = JSONObject.toBean(jsonObject1);
System.out.println("--------json使用JSONObject.toBean转换java对象--------");
System.out.println(user1);
- 数组和Json之间的转换
//将数组转换成json
int array[]= {123,456,345,456};
JSONArray jsonArray = JSONArray.fromObject(array);
System.out.println("--------数组使用JSONArray.fromObject转换json--------");
System.out.println(jsonArray);
//把json转换成数组
Object array1 = JSONArray.toArray(jsonArray);
System.out.println("--------json使用JSONArray.toArray转换数组--------");
System.out.println(array1);
- list和Json之间的转换
//list转换成json
List list=new ArrayList();
list.add(1234);
list.add(1234);
list.add(34);
list.add(14);
JSONArray jsonArray1 = JSONArray.fromObject(list);
System.out.println("--------list使用JSONArray.fromObject转换json--------");
System.out.println(jsonArray1);
//把json转换成list
List list1 = JSONArray.toList(jsonArray1);
System.out.println("--------json使用JSONArray.toList转换list--------");
System.out.println(list1);
- map和Json之间的转换,注:这里的JSON使用的是阿里的
//map转化成json
Map<String,Object> map=new HashMap<String,Object>();
map.put("userId", 1001);
map.put("username", "Lucy");
map.put("password", "123456");
map.put("userAge", 18);
JSONObject jsonObject2 = JSONObject.fromObject(map);
System.out.println("--------map使用JSONArray.fromObject转换json--------");
System.out.println(jsonObject2);
//把json转换成map,这里的JSON使用的是阿里的
Object parse = JSON.parse(jsonObject2.toString());
System.out.println("--------json使用JSON.parse转换map--------");
System.out.println(parse);
- 以上就简单介绍了什么是json,以及Java中json和其他类型之间的转换