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
- #2.数组/集合格式,使用数组[]可以保存多个对象
- var arr =
- [
- {"name":"Li","age":"18"},
- {"name":"ZJ","age":"20"}
- ]
- 调用方式: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]