JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式

JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式

 


数据格式:

json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式。具有易于解析,语法简单的特点,广泛应用与网络间的数据传输。

{"name":"Li","age":"18"}

 

XML数据格式:属于重量级数据格式,在以前主要是用XML进行数据的传输,但他的格式比较复杂,传输时存在大量冗余数据。目前主要作为配置文件使用

  1.   <books>
  2.   <book>
  3.   <author>唐家三少</author>
  4.   <price>20</price>
  5.   <name>斗罗大陆</name>
  6.   </book>
  7.   <book>
  8.   <author>我吃西红柿</author>
  9.   <price> 20</price>
  10.   <name>星辰变</name>
  11.   </book>
  12.   < /books>

YML文件格式:一般作为配置文件使用

  1.   spring:
  2.   dataSourse:
  3.   url:jdbc:mysql: //127.0.0.1:3306/javase
  4.   name:root
  5.   className:com.mysql
  6.   password:******

properties文件格式:一般作为配置文件使用,可以使用Properties工具类进行解析。格式为:key=value

classname=com._51doit.demo01

 

JSON基本语法:

JSON中 { } 表示对象,内部的元素是以字典 / 键值对的形式存在的。对于任意一种对象 / 变量的数据类型都是用 var 类型来表示的,对象内的字段作为属性,比如:name

  1.   #1.对象的简单格式
  2.   var user = {"name":"Li","age":"18"}
  3.   调用方式:user.name --- Li
  1.   #2.数组/集合格式,使用数组[]可以保存多个对象
  2.   var arr =
  3.   [
  4.   {"name":"Li","age":"18"},
  5.   {"name":"ZJ","age":"20"}
  6.   ]
  7.   调用方式:arr[ 0].name --- Li
  1.   # 3.对象的嵌套格式:不允许交叉嵌套
  2.   var map =
  3.   {
  4.   "name":"Li",
  5.   "user":{"name":"zhang","age":18},
  6.   "users":[
  7.   { "name":"Li","age":"18"},
  8.   { "name":"ZJ","age":"20"}
  9.   ]
  10.   }
  11.   调用方式:
  12.   map.name --- Li
  13.   map.user.name --- zhang
  14.   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值一致。

在不熟悉的类中寻找合适的方法时,主要关注传入参数和返回值类型。

  1.   public static void main(String[] args){
  2.   //User为自定义类,新建java对象
  3.   User user = new User();
  4.   user.setName( "七月流火");
  5.   user.setAge( 25);
  6.   //将对象转为JSON格式的字符串
  7.   String str = JSON.toJsonString(user);
  8.   System.out.println(str);
  9.    
  10.   //将json格式的字符串转换成java对象
  11.   User user2 = JSON.parseObject(str,User.class);
  12.   System.out.println(user2)
  13.   }
  14.   ========================================
  15.   { "age":25,"name":"七月流火"}
  16.   User [name=七月流火, age= 25]

相关文章