国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何使用JSON和GSON

gecko23 / 3695人閱讀

摘要:說明本項目是在中創建項目來進行對于格式文件的操作在項目中引入對于支持開發的的依賴,在文件中添加一下依賴使用指南使用的原生的方法生成一個創建一個對象使用鍵值對對的形式添加對象的一些屬性王小二藍翔理發挖掘機這是一個注釋使

說明:本項目是在MyEclipse中創建Maven項目來進行對于json格式文件的操作
  在maven項目中引入對于支持json開發的的依賴,在pom.xml文件中添加一下依賴:
      
            org.json
            json
            20090211
      
                       
1. JSON使用指南
**使用jsonobject的原生的方法生成一個jsonobject**

----------

<1>創建一個jsonobject對象
   JSONObject wamgxiaoer = new JSONObject();
<2>使用鍵值對對的形式添加對象的一些屬性
  
    Object nullobj = null;
    wamgxiaoer.put("name", "王小二");
    wamgxiaoer.put("age", 25.2);
    wamgxiaoer.put("birthday", "1990-01-01");
    wamgxiaoer.put("schooll", "藍翔");
    wamgxiaoer.put("major",new String[]{"理發","挖掘機"});
    wamgxiaoer.put("has_girfriend", false);
    wamgxiaoer.put("car", nullobj);
    wamgxiaoer.put("house", nullobj);    
    wamgxiaoer.put("comment", "這是一個注釋");

//使用tostring方法將json格式的數據轉化成一個string類型的數據進行輸出

    System.out.println(wamgxiaoer.toString());
使用Map方式生成jsonobject對象

<1>生成一個map類型的對象
Map wamgxiaoer = new HashMap();

  Object nullobj = null;
    wamgxiaoer.put("name", "王小二");
    wamgxiaoer.put("age", 25.2);
    wamgxiaoer.put("birthday", "1990-01-01");
    wamgxiaoer.put("schooll", "藍翔");
    wamgxiaoer.put("major",new String[]{"理發","挖掘機"});
    wamgxiaoer.put("has_girfriend", false);
    wamgxiaoer.put("car", nullobj);
    wamgxiaoer.put("house", nullobj);    
    wamgxiaoer.put("comment", "這是一個注釋");

使用jsonobject的tomap方法講一個map類型的對象轉換成一個jsonobject對象,最后利用jsonobject對象的tostring方法轉換成一個字符類型數據
System.out.println(new JSONObject(wamgxiaoer).toString());

使用Java Bean方法構建json

<1>創建一個Java bean

 package bean;
import java.util.Arrays;  
import com.google.gson.annotations.SerializedName; 
public class Diaosi {

//    @SerializedName("NAME")
    private String name;
    private String school;
    private boolean has_girlfriend;
    private double age;
    private Object car;
    private Object house;
    private String[] major;
    private String coment;
    private String birthday;
    private transient String ignore;
        
    public String getIgnore() {
        return ignore;
    }
    public void setIgnore(String ignore) {
        this.ignore = ignore;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSchool() {
        return school;
    }
    public void setSchool(String school) {
        this.school = school;
    }
    public boolean isHas_girlfriend() {
        return has_girlfriend;
    }
    public void setHas_girlfriend(boolean has_girlfriend) {
        this.has_girlfriend = has_girlfriend;
    }
    public double getAge() {
        return age;
    }
    public void setAge(double age) {
        this.age = age;
    }
    public Object getCar() {
        return car;
    }
    public void setCar(Object car) {
        this.car = car;
    }
    public Object getHouse() {
        return house;
    }
    public void setHouse(Object house) {
        this.house = house;
    }
    public String[] getMajor() {
        return major;
    }
    public void setMajor(String[] major) {
        this.major = major;
    }
    public String getComent() {
        return coment;
    }
    public void setComent(String coment) {
        this.coment = coment;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    @Override
    public String toString() {
        return "Diaosi [name=" + name + ", school=" + school + ", has_girlfriend=" + has_girlfriend + ", age=" + age
                + ", car=" + car + ", house=" + house + ", major=" + Arrays.toString(major) + ", coment=" + coment
                + ", birthday=" + birthday + "]";
    }    
}

<2>使用自己創建的Java bean的方法來設定屬性

 private static void creatByJavaBean() {
        Diaosi wamgxiaoer = new Diaosi();
        wamgxiaoer.setName("王小二");
        wamgxiaoer.setAge(25.2);
        wamgxiaoer.setBirthday("1990-01-01");
        wamgxiaoer.setSchool("藍翔");
        wamgxiaoer.setMajor(new String[]{"理發","挖掘機"});
        wamgxiaoer.setHas_girlfriend(false);
        wamgxiaoer.setCar(null);
        wamgxiaoer.setHouse(null);
        wamgxiaoer.setComent("這是一個注釋");
        System.out.println(new JSONObject(wamgxiaoer));
    }

從文件解析json對象
<1>首先在pom.xml文件引入Commons-io來使用一些對于文件的操作,例如:


        commons-io
        commons-io
        2.4
    
    

<2>獲取json文件所在的路徑從而獲取一個文件對象

File file = new File(ReadJsonSample.class.getResource("/wangxiaoer.json").getFile());  

<3>獲取文件中的內容:
String content = FileUtils.readFileToString(file);
<4>創建一個jsonobject對象來解析json格式的數據
JSONObject jsonObject = new JSONObject(content);
<5>通過json的方法來獲取一些屬性對于的值

if(!jsonObject.isNull("name")){
            System.out.println("姓名是:"+jsonObject.getString("name"));
        }  
        if(!jsonObject.isNull("nickname")){
            System.out.println("姓名是:"+jsonObject.getString("nickname"));
        } 
        System.out.println("年齡是:"+jsonObject.getDouble("age"));
        System.out.println("是否有女朋友:"+jsonObject.getBoolean("has_girlfriend"));
        JSONArray majorArray =  jsonObject.getJSONArray("major");
        for(int i = 0;i

2..GSON使用指南
GSON是由谷歌公司提出來的出來json格式數據的方法
<2>引入關于GSON的依賴

 
com.google.code.gson
gson
2.8.2

<3>創建一個類的實例并為其賦值

Diaosi wamgxiaoer = new Diaosi();

wamgxiaoer.setName("王小二");
wamgxiaoer.setAge(25.2);
wamgxiaoer.setBirthday("1990-01-01");
wamgxiaoer.setSchool("藍翔");
wamgxiaoer.setMajor(new String[]{"理發","挖掘機"});
wamgxiaoer.setHas_girlfriend(false);
wamgxiaoer.setCar(null);
wamgxiaoer.setHouse(null);
wamgxiaoer.setComent("這是一個注釋");
wamgxiaoer.setIgnore("不要看見我!");

<4>創建一個GSON對象
Gson gson = new Gson();
<5>使用GSON對象的tostring方法將其轉換成一個string類型的對象
System.out.println(gson.toJson(wamgxiaoer));
<6>GSONbuilder創建個性化的json格式的數據,并通過gsonbuilder的create方法來創建一個gson對象

GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.setPrettyPrinting();
    gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() {          
        public String translateName(Field f) {
            
            if(f.getName().equals("name")){
                return "NAME";
            }
            return f.getName();
        }
    });
    Gson gson = gsonBuilder.create();
    System.out.println(gson.toJson(wamgxiaoer));
}

GSON解析json格式數據
<1>獲取json的數據文件內容

File file = new File(ReadJsonSample.class.getResource("/wangxiaoer.json").getFile());
        String content = FileUtils.readFileToString(file);            

<2>創建一個GSON對象

 Gson gson =new  GsonBuilder().setDateFormat("yyyy-MM-dd").create();

<3>使用GSON進行反解析

Gson gson =new GsonBuilder().setDateFormat("yyyy-MM-dd").create();

DiaosiWithBirthday wangxiaoer = gson.fromJson(content, DiaosiWithBirthday.class);
System.out.println(wangxiaoer.getBirthday().toLocaleString());
System.out.println(wangxiaoer.getMajor());
System.out.println(wangxiaoer.getMajor().getClass());

想了解更多關于GSON的可以在GitHub上查看GSON的官方文檔,最后附上項目的下載地址:
鏈接:http://pan.baidu.com/s/1pLHp5ph 密碼:khbb

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/61893.html

相關文章

  • 慕課網_《JSON快速入門(Java版)》學習總結

    摘要:時間年月日星期日說明本文部分內容均來自慕課網。慕課網教學示例源碼無個人學習源碼第一章課程概述課程介紹課程須知本課程面向所有使用語言進行開發的小伙伴。 時間:2017年05月21日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://github.com/zccodere/s... 第一章:課程概述 1-1 ...

    shiina 評論0 收藏0
  • 將多個JSON字段映射到單個Java字段

    摘要:簡介本文中,教大家如何使用和將不同的字段映射到單個字段中。這兩個注解將幫助我們把屬性映射到同一字段。因此,將知道文檔中映射到字段的其他字段的名稱。 簡介 本文中,教大家如何使用Jackson和Gson將不同的JSON字段映射到單個Java字段中。 Maven依賴 為了使用Jackson和Gson庫,我們需要在POM中添加以下依賴項: com.google.code.gson ...

    printempw 評論0 收藏0
  • gson-plugin告別Json數據類型不一致(一)

    摘要:六原理說明侵入編譯流程,在編譯過程中,修改庫的字節碼,修改解析相關的方法,在數據類型不一致的時候,跳過當前字段的解析。 一、目錄 1.gson-plugin告別Json數據類型不一致(一)2.gson-plugin基礎源碼分析(二)3.gson-plugin深入源碼分析(三)4.gson-plugin如何在JitPack發布(四) 看完這4篇文章,對Gson解析會有更加深刻的認識,對A...

    canopus4u 評論0 收藏0

發表評論

0條評論

gecko23

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<