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]