JSON是一種獨(dú)立于語(yǔ)言和平臺(tái)、輕量級(jí)的數(shù)據(jù)交換格式全稱JavaScript對(duì)象表示法(JavaScript Object Notation)。起初來(lái)源于JavaScript這門語(yǔ)言,后來(lái)隨著使用的廣泛,幾乎每門開(kāi)發(fā)語(yǔ)言都有處理JSON的API。
普通:
數(shù)組:
集合:一般來(lái)說(shuō)都不用手寫(xiě)這樣的JSON格式,都是通過(guò)將對(duì)象啊、集合什么的自動(dòng)轉(zhuǎn)換成JSON格式的,然后傳到前端再進(jìn)行解析
目前,前后端的ajax通訊幾乎用的都是json格式的了,所以在開(kāi)發(fā)的過(guò)程中,我們經(jīng)常會(huì)涉及到JSON數(shù)據(jù)的轉(zhuǎn)換
com.alibaba fastjson 1.2.3 com.colobu fastjson-jaxrs-json-provider 0.3.1
// java對(duì)象轉(zhuǎn)化為JSON
@Test
public void javaBeanToJson(){// 1、創(chuàng)建Persion對(duì)象
Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());
// 2、使用JSON對(duì)象 將persion對(duì)象轉(zhuǎn)換為JSON數(shù)據(jù)
String s = JSON.toJSONString(lzy);
System.out.println(s);
}
// Java中的集合轉(zhuǎn)JSON (List)
@Test
public void ListToJSON(){Person gzw = new Person("gzw", 25, DateUtils.getDateFormart());
Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());
Person sjw = new Person("sjw", 25, DateUtils.getDateFormart());
Listlists = new ArrayList<>();
lists.add(gzw);
lists.add(lzy);
lists.add(sjw);
String s = JSON.toJSONString(lists);
System.out.println(s);
}
// Java中的集合轉(zhuǎn)JSON (Map)
@Test
public void MapToJSON(){Person gzw = new Person("gzw", 25, DateUtils.getDateFormart());
Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());
Person sjw = new Person("sjw", 25, DateUtils.getDateFormart());
Listlists = new ArrayList<>();
lists.add(gzw);
lists.add(lzy);
lists.add(sjw);
Mapmap = new HashMap<>();
map.put("error_message", "success");
map.put("lists", JSON.toJSONString(lists));
String s1 = JSON.toJSONString(map);
System.out.println(s1);
}
7、JSON轉(zhuǎn)Java// JSON轉(zhuǎn)對(duì)象
@Test
public void JSONToJavaBean(){String json = "{\"USERNAME\":\"lzy\",\"AGE\":25}";
Person person = JSON.parseObject(json, Person.class);
System.out.println(person);
}
@Test
public void JSONToList(){String json = "[{\"USERNAME\":\"gzw\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"},{\"USERNAME\":\"lzy\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"},{\"USERNAME\":\"sjw\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"}]";
Listlists = (List)JSON.parseArray(json, Person.class);
for (Person list : lists) {System.out.println(list);
}
}
@Test
public void JSONToMap(){String json = "{\"error_message\":\"success\",\"lists\":\"[{\\\"USERNAME\\\":\\\"gzw\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"},{\\\"USERNAME\\\":\\\"lzy\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"},{\\\"USERNAME\\\":\\\"sjw\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"}]\"}";
Mapmap = JSON.parseObject(json, Map.class);
String s = map.get("lists");
Listpeople = JSON.parseArray(s, Person.class);
for (Person person : people) {System.out.println(person);
}
}
8、JSONField注解@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {// 可以通過(guò)name去指定輸出的名稱
// ordinal可以指定輸出的順序
// 使用serialize屬性,指定字段是否序列化
@JSONField(name = "USERNAME", ordinal = 1)
private String name;
@JSONField(name = "AGE", ordinal = 2)
private Integer age;
@JSONField(serialize = false)
private String birthday;
}
總結(jié)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前文章:JSON【學(xué)習(xí)筆記】-創(chuàng)新互聯(lián)
文章位置:http://jinyejixie.com/article2/gipoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容