json一 ------Gson

1.什麼是jsonhtml

  json:就是一種輕量級的數據交換格式java

     json語法:「鍵」:「值」組成,多個之間經過逗號隔開,{}表示對象,[]表示數組json

  json字符串: '{"a": "Hello", "b": "World"}';數組

  json對象: {a: 'Hello', b: 'World'};函數

  json數組: ["a":"Hello"] ;性能

  json對象數組: [ {"name":"張三","age":20},google

           {"name":"李四","age":21} ]spa

  更多詳情請看官網:http://www.json.org/json-zh.html.net

2.前臺code

  將對象轉爲json:JSON.stringify(對象)

  將json轉爲對象:JSON.parse(json)

3.後臺(總的來講就是將對象、集合轉爲json,將字符串json轉爲對象、集合)

  一:Google的Gson,須要json.jar包,(fromJson()將json字符串轉爲對象、集合,toJson()將集合、對象轉爲json)

    下載地址:http://download.csdn.net/download/muyeju/9999530

    一、將json字符串轉爲對象:gson對象.fromJson(字符串, 實體.class) ;

package com.cn.test.test;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        String student = "{'name':'張三','age':20}" ;
        Gson gson = new Gson() ;
        TestStudent s = gson.fromJson(student, TestStudent.class) ;
        System.out.println("-----------name----------"+s.getName());
        System.out.println("-----------age-----------"+s.getAge());
    }
}

    二、將json字符串轉爲集合: gson對象.fromJson(字符串, new TypeToken<List<實體>>(){}.getType()) ; TypeToken是gson提供的數據類型轉換器,能夠支持各類數據集合類型轉換。

package com.cn.test.test;

import java.util.List;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class Test {
    
    public static void main(String[] args) {
        String student = "[{'name':'張三','age':20},{'name':'李四','age':21}]" ;
        Gson gson = new Gson() ;
        List<TestStudent> s = gson.fromJson(student, new TypeToken<List<TestStudent>>(){}.getType()) ;
        for (TestStudent testStudent : s) {
            System.out.println("-----------name----------"+testStudent.getName());
            System.out.println("-----------age-----------"+testStudent.getAge());
        }
    }
}

    三、將對象轉爲json:toJson(對象)

package com.cn.test.test;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        TestStudent s = new TestStudent() ;
        s.setAge(20);
        s.setName("張三");
        Gson gson = new Gson() ;
        String student = gson.toJson(s) ;
        System.out.println("------------------"+student);
    }
}
結果:------------------{"name":"張三","age":20}

    四、將集合轉爲json:toJson(集合)

package com.cn.test.test;

import java.util.ArrayList;
import java.util.List;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        List<TestStudent> student = new ArrayList<TestStudent>() ;
        TestStudent s = new TestStudent() ;
        s.setAge(20);
        s.setName("張三");
        TestStudent s1 = new TestStudent() ;
        s1.setAge(30);
        s1.setName("李四");
        student.add(s) ;
        student.add(s1) ;
        Gson gson = new Gson() ;
        String testStudent = gson.toJson(student) ;
        System.out.println("------------------"+testStudent);
    }
}
結果:------------------[{"name":"張三","age":20},{"name":"李四","age":30}]

 

4.總結

  Gson是目前功能最全的Json解析神器,是Google公司開發的,Gson的應用主要是toJson與fromJson兩個轉換函數,Gson在功能上面無可挑剔,可是性能上面不如FastJson

相關文章
相關標籤/搜索