JSON封装数据的几种方式
package com.feture.test;
import com.feture.po.Game;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import java.util.*;
public class TestJson {
public static void main(String[] args) {
/*
* JavaScript Object Notation
* JSON
* 一种轻量级的数据交换格式,2004年诞生,2006年加入
* ajax技术体系,用来取代xml封装批量数据,可以在Java服务器端
* 和Js端同时使用
* 格式:
* 1){key1:value1,key2:value2,keyN:valueN}
* key:字符串
* value:
* 字符串
* 八种基本数据类型
* null
* 数组
* json
*
* 2)[value1,value2,value3,valueN]
*
* value:
* 字符串
* 八种基本数据类型
* null
* 数组
* json
*
封装方式1:可以封装任意数据类型,封装之后呈现第一种
格式的json
* */
String str = "etoak";
String[] strAr = {"济南","青岛","淄博"};
boolean flag = true;
int i = 100;
JSONObject jo1 = new JSONObject();
jo1.put("key1",str);
jo1.put("key2",strAr);
jo1.put("key3",flag);
jo1.put("key4",i);
//{"key1":"etoak","key2":["济南","青岛","淄博"],"key3":true,"key4":100}
System.out.println(jo1);
JSONObject jo2 = new JSONObject();
jo2.put("myGame",new Game(1,"只狼","AVG"));
//{"myGame":{"name":"只狼","id":1,"type":"AVG"}}
System.out.println(jo2);
/*
* 封装方式2:可以封装自定义数据类型和Map
* 封装之后呈现第一种格式的json
* */
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"Javascript");
map.put(2,"jQuery");
map.put(3,"VUE");
map.put(4,"Angular");
map.put(5,"React");
JSONObject js1 = JSONObject.fromObject(map);
//{"1":"Javascript","2":"jQuery","3":"VUE","4":"Angular","5":"React"}
System.out.println(js1);
JSONObject js2 = JSONObject.fromObject(
new Game(2,"dota自走棋","slg"));
//{"name":"dota自走棋","id":2,"type":"slg"}
System.out.println(js2);
//对自定义数据类型中的属性进行有选择的封装
JsonConfig jc = new JsonConfig();
//设置不需要封装的字段名
jc.setExcludes(new String[]{"id","type"});
JSONObject js3 = JSONObject.fromObject(
new Game(3,"王者荣耀","moba"),jc);
//{"name":"王者荣耀"}
System.out.println(js3);
/*
* 封装方式3:
* 可以封装List Set 和 数组
* 封装之后呈现格式2的json
* */
List<String> list = new ArrayList<String>();
list.add("Iphone");
list.add("Apple Watch");
list.add("Air Pods");
list.add("MacBook");
list.add("Ipad");
JSONArray ja1 = JSONArray.fromObject(list);
//["Iphone","Apple Watch","Air Pods","MacBook","Ipad"]
System.out.println(ja1);
JSONArray ja2 = JSONArray.fromObject(strAr);
//["济南","青岛","淄博"]
System.out.println(ja2);
Set<String> set = new HashSet<String>();
set.add("Java");
set.add("C");
set.add("C++");
set.add("Php");
set.add("Swift");
JSONArray ja3 = JSONArray.fromObject(set);
//["Java","C++","C","Php","Swift"]
System.out.println(ja3);
}
}
JSON的入门介绍学习
最新推荐文章于 2024-06-04 11:15:00 发布