1. 程式人生 > >JSON例項簡單教程

JSON例項簡單教程

一.JSON簡介

JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於JavaScript Programming LanguageStandard 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:有寫的不好、不對的地方,歡迎各位大佬指出!)