JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式
数据格式:
json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式。具有易于解析,语法简单的特点,广泛应用与网络间的数据传输。
{"name":"Li","age":"18"}
XML数据格式:属于重量级数据格式,在以前主要是用XML进行数据的传输,但他的格式比较复杂,传输时存在大量冗余数据。目前主要作为配置文件使用
-
<books>
-
<book>
-
<author>唐家三少</author>
-
<price>20</price>
-
<name>斗罗大陆</name>
-
</book>
-
<book>
-
<author>我吃西红柿</author>
-
<price>20</price>
-
<name>星辰变</name>
-
</book>
-
</books>
YML文件格式:一般作为配置文件使用
-
spring:
-
dataSourse:
-
url:jdbc:mysql://127.0.0.1:3306/javase
-
name:root
-
className:com.mysql
-
password:******
properties文件格式:一般作为配置文件使用,可以使用Properties工具类进行解析。格式为:key=value
classname=com._51doit.demo01
JSON基本语法:
JSON中 { } 表示对象,内部的元素是以字典 / 键值对的形式存在的。对于任意一种对象 / 变量的数据类型都是用 var 类型来表示的,对象内的字段作为属性,比如:name
-
#1.对象的简单格式
-
var user = {"name":"Li","age":"18"}
-
调用方式:user.name --- Li
-
-
var arr =
-
[
-
-
-
-
调用方式:arr[0].name --- Li
-
#3.对象的嵌套格式:不允许交叉嵌套
-
var map =
-
{
-
"name":"Li",
-
"user":{"name":"zhang","age":18},
-
"users":[
-
{"name":"Li","age":"18"},
-
{"name":"ZJ","age":"20"}
-
]
-
}
-
调用方式:
-
map.name --- Li
-
map.user.name --- zhang
-
map.users[0].age --- 18
可以在maven仓库中下载JSON的数据转换格式包,比如阿里巴巴开发的fastjson的jar包。基本步骤如下:
1.在maven repository官网下载JSON格式转换的jar包;
2.在IDE的项目的以及目录下新建文件lib,然后点中jar包右键 | build path。
JSON和java的格式转换:
注:将json格式的字符串转换成java对象的时候,要求java中的属性名和json中的key值一致。
在不熟悉的类中寻找合适的方法时,主要关注传入参数和返回值类型。
-
public static void main(String[] args){
-
//User为自定义类,新建java对象
-
User user = new User();
-
user.setName("七月流火");
-
user.setAge(25);
-
//将对象转为JSON格式的字符串
-
String str = JSON.toJsonString(user);
-
System.out.println(str);
-
-
//将json格式的字符串转换成java对象
-
User user2 = JSON.parseObject(str,User.class);
-
System.out.println(user2)
-
}
-
========================================
-
{"age":25,"name":"七月流火"}
-
User [name=七月流火, age=25]