java將資料轉成json編碼格式技術執行個體教程

來源:互聯網
上載者:User

json編碼;是一個輕量級的資料存放區和傳輸的語言

在java中需要引入json相關的包,引包方式在工程的lib下就可以了

JSON與JAVA資料的轉換(JSON 即 JavaScript Object Natation,它是一種輕量級的資料交換格式,非

常適合於伺服器與 JavaScript 之間的資料的互動)

json的運算式相當於JavaScript的原始類的聲明方式相似

 代碼如下 複製代碼
var obj={ 
   name:"javascript", 
   age:20 
}; 

 

將java轉成json的編碼錶達式;

1, 建立json的基本對象

Json代碼

String str="{}";//將java轉化為json必須要先建立需要轉換的資料

JSONObject jsonobj =new JSONObject.fromObject(str);//將java資料裝換為json的編碼方式

2,使用for迴圈幾個數字放入建立的json對象中

 

 代碼如下 複製代碼
for(int i=0;i<5;i++){ 
 jsonobj.put("json"+i,i);//將java資料放到json對象中去 
  // jsonobj.put("json"+i, i);和put的執行結果一樣 
 // jsonobj.accumulate("json"+i, i);和put的執行結果一樣 
  System.out.println(jsonobj.toString());//列印json的資料 
 }

 

Json代碼

結果:

{"id0":0}
{"id0":0,"id1":1}
{"id0":0,"id1":1,"id2":2}
{"id0":0,"id1":1,"id2":2,"id3":3}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4}

3,使用put向json中放一個JSONObject對象

Json代碼

 

 代碼如下 複製代碼
for(int i=0;i<5;i++){ 
 jsonobj.put("json"+i,i);//將java資料放到json對象中去 
  // jsonobj.put("json"+i, i);和put的執行結果一樣 
 // jsonobj.accumulate("json"+i, i);和put的執行結果一樣 
  System.out.println(jsonobj.toString());//列印json的資料 
 }

 

 結果:

{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2,"date3":3}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"jsonobj":{"date0":0,"date1":1,"date2":2,"date3":3,"date4":4}}

4,將數組添加到json中

Java代碼

 

 代碼如下 複製代碼
 // 建立json的基本對象 
String date = "{}"; 
JSONObject jsonobj = JSONObject.fromObject(date); 
 
// 使用int將數值放到json 
for (int j = 0; j < 5; j++) { 
    // jsonobj.put("id"+j, j); 
    // jsonobj.accumulate("id"+j, j); 
    jsonobj.element("id" + j, j); 
    //System.out.println(jsonobj.toString()); 
}      

   

 

 結果:

{"arr":["json","ajax","Jquery","javascript"]}

5,將list放到json中

Java代碼

 

 代碼如下 複製代碼

String date = "{}"; 
JSONObject jsonobj = JSONObject.fromObject(date); 

ArrayList<String> list = new ArrayList<String>();   
list.add("json"); 
list.add("java"); 
list.add("android"); 
jsonobj.put("jsonobj", list); 
System.out.println(jsonobj.toString()); 

 

結果:{"jsonobj":["json","java","android"]}

6,將map放到json中

Json代碼

 

 代碼如下 複製代碼
String date = "{}";  
JSONObject jsonobj = JSONObject.fromObject(date);//建立轉化的對象 
  Map<String,Object> map = new HashMap<String, Object>();//建立map隊列 
  map.put("map1", "json");   
  map.put("map2", "java");   
  map.put("map3", "android");   
  jsonobj.put("map", map);  //放到json中 
  System.out.println(jsonobj.toString());   

 

結果:

{"map":{"map3":"android","map2":"java","map1":"json"}}

7,使用 putAll 將json放到隊列中

Json代碼

 

 代碼如下 複製代碼
 String date = "{}";  
JSONObject jsonobj = JSONObject.fromObject(date);//建立轉化的對象 
   Map<String,Object> map = new HashMap<String, Object>();   
   map.put("map1", "json");   
   map.put("map2", "android");   
   map.put("map3", "Jquery");   
   jsonobj.putAll(map);   
   System.out.println(jsonobj.toString());   

 

結果:

{"map3":"Jquery","map2":"android","map1":"json"}

8,區分put和putAll的區別:

put;會有一個對象 {"map":{"map3":"android","map2":"java","map1":"json"}}

putAll沒有 {"map3":"Jquery","map2":"android","map1":"json"}

9, 組合: (返回的結果value是一個對象數組)

Json代碼

 

 代碼如下 複製代碼
//思路: 
//        1,建立轉化為json的對象 
//        2,建立ArrayList隊列存放轉化的json對象 
//        3,使用for迴圈3次,建立json的對象,向迴圈建立的json添加值 
//        4,將迴圈建立的json對象放到隊列中 
//        5,將隊列添加到json中 
    String date = "{}";  
    JSONObject jsonobj = JSONObject.fromObject(date);//建立轉化的對象 
    ArrayList<JSONObject> list = new ArrayList<JSONObject>();//建立隊列   
    for(int i=0; i<3; i++){  //迴圈 
     JSONObject json  = JSONObject.fromObject(date); //轉化的java 
     json.put("aaaa"+i, i);   
     json.put("bbbb"+i, i);   
     json.put("cccc"+i, i);   
     list.add(json);   
    }   
    jsonobj.put("succList", list);   
    System.out.println(jsonobj.toString());  

 

結果:

{"succList":[
{"aaaa0":0,"bbbb0":0,"cccc0":0},
{"aaaa1":1,"bbbb1":1,"cccc1":1},
{"aaaa2":2,"bbbb2":2,"cccc2":2}
] }

10,json的組合,返回的結果的值是一個數組

Json代碼

 

 代碼如下 複製代碼
// 建立json的基本對象 
String date = "{}"; 
JSONObject jsonobj = JSONObject.fromObject(date); 
String[] str={"json","ajax","Jquery","javascript"};//數組 
 jsonobj.put("arr", str);    
ArrayList<JSONObject> list = new ArrayList<JSONObject>();//建立隊列   
   for(int i=0; i<3; i++){  //迴圈 
    JSONObject json  = JSONObject.fromObject(date); //轉化的java 
    json.put("aaaa"+i, i);   
    json.put("bbbb"+i, i);   
    json.put("cccc"+i,str );  //添加一個數組 
    list.add(json);   
   }   
   jsonobj.put("succList", list);   
   System.out.println(jsonobj.toString());   

 

結果:

{"arr":["json","ajax","Jquery","javascript"],
"succList":[{"aaaa0":0,"bbbb0":0,"cccc0":["json","ajax","Jquery","javascript"]},
{"aaaa1":1,"bbbb1":1,"cccc1":["json","ajax","Jquery","javascript"]},
{"aaaa2":2,"bbbb2":2,"cccc2":["json","ajax","Jquery","javascript"]}
]}

11,組合,任意的嵌套;

Json代碼

 

 代碼如下 複製代碼
// 建立json的基本對象 
    String date = "{}"; 
    JSONObject jsonobj = JSONObject.fromObject(date); 
    String[] str={"json","ajax","Jquery","javascript"};//數組 
    //轉化java的json嵌套到json中 
    JSONObject jsonDemo  = JSONObject.fromObject(date);  
    for(int n=0;n<3;n++){ 
        jsonDemo.put("組合"+n, n); 
    } 
    ArrayList<JSONObject> list = new ArrayList<JSONObject>();//建立隊列   
    for(int i=0; i<3; i++){  //迴圈 
     JSONObject json  = JSONObject.fromObject(date); //轉化的java 
     json.put("aaaa"+i, jsonDemo);  //嵌套的json 
     json.put("bbbb"+i, "java");   
     json.put("cccc"+i,str );  //值為一個數組 
     list.add(json);   
    }   
    jsonobj.put("succList", list);   
    System.out.println(jsonobj.toString()); 

 

運行結果:

{"succList":
[{"aaaa0":{"組合0":0,"組合1":1,"組合2":2},
"bbbb0":"java","cccc0":["json","ajax","Jquery","javascript"]},
{"aaaa1":{"組合0":0,"組合1":1,"組合2":2},
"bbbb1":"java","cccc1":["json","ajax","Jquery","javascript"]},
{"aaaa2":{"組合0":0,"組合1":1,"組合2":2},
"bbbb2":"java","cccc2":["json","ajax","Jquery","javascript"]}
]}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.