JSON例項簡單教程
一.JSON簡介
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的資料交換語言。
二.JSON的結構型別
1.物件:舉例——[{"age":"13","name":"zhangSan"}] AND [{"age":"13","name":"zhangSan"},{"age":"14","name":"liSi"}]
其中,第一個是包含一個物件的JSON,第二個是包含兩個物件的JSON,基本結構如圖所示,參照例子理解即可
2.陣列:舉例——{"name","sex","age"}
這個跟普通的陣列結構是一樣的,基本結構對照圖片理解。
圖中的value可以是:
三.JSON的優點(故意不說缺點)
(1)資料格式比較簡單,易於讀寫,格式都是壓縮的,佔用頻寬小;
(2)易於解析,客戶端JavaScript可以簡單的通過eval_r()進行JSON資料的讀取;
(3)支援多種語言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等伺服器端語言,便於伺服器端的解析;
(4)在PHP世界,已經有PHP-JSON和JSON-PHP出現了,偏於PHP序列化後的程式直接呼叫,PHP伺服器端的物件、陣列等能直接生成JSON格式,便於客戶端的訪問提取;
(5)因為JSON格式能直接為伺服器端程式碼使用,大大簡化了伺服器端和客戶端的程式碼開發量,且完成任務不變,並且易於維護。
四.JSON簡單例項
1.需要匯入的Jar:
2.專案結構:
3.建立實體類——Employee.java:
package com.zhu.pojo; public class Employee { String name; String age; public Employee(String name, String age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "Employee [name=" + name + ", age=" + age + "]"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
4.建立測試類——test.java(注意,我這裡使用的是Junit單元測試):
package com.zhu.json;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.zhu.pojo.Employee;
import net.sf.json.JSONArray;
public class test {
@Test
public void testCreateJsonArray() {
//List集合
List<Employee> list = new ArrayList<Employee>();
list.add(new Employee("zhangSan","13"));
list.add(new Employee("liSi","14"));
//建立json集合,將list集合放到Json陣列集合中
JSONArray jsonArray = JSONArray.fromObject(list);
//以字串的形式輸出
System.out.println(jsonArray.toString());
}
}
5.輸出結果:
(PS:有寫的不好、不對的地方,歡迎各位大佬指出!)