這篇文章主要介紹了JAVA中json如何解析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
我們提供的服務有:成都做網(wǎng)站、網(wǎng)站建設、外貿營銷網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、洪江ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的洪江網(wǎng)站制作公司一、什么是JSON
JSON是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結構使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于閱讀和編寫,同時也易于解析和生成,并有效地提升網(wǎng)絡傳輸效率。
二、JSON 語法
(1)數(shù)據(jù)在名稱/值對中
(2)數(shù)據(jù)由逗號分隔
(3)大括號保存對象
(4)中括號保存數(shù)組
三、Java中JSON的生成與解析的四種方式(簡單的Demo):
一個實體類:用于與JSON數(shù)據(jù)進行相互轉換
public class Person { private String name; private String sex; private int age; public Person(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public String getName() { return name; } public String getSex() { return sex; } public int getAge() { return age; } @Override public String toString() { return "Person{name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}'; } }
(1)利用傳統(tǒng)方式:
由實體類生成Json字符串:
public Person getPerson(){ return new Person("張三", "男", 25); } @Test public void EntityToJson(){ JSONObject jsonObject = new JSONObject(); jsonObject.put("name", getPerson().getName()); jsonObject.put("sex", getPerson().getSex()); jsonObject.put("age", getPerson().getAge()); System.out.println(jsonObject.toString()); }
由Json字符串生成實體類:
@Test public void JsonToEntity(){ String jsonString = "{\"sex\":\"男\(zhòng)",\"name\":\"張三\",\"age\":25}"; JSONObject jsonObject = new JSONObject(jsonString); Person person = new Person(jsonObject.get("name").toString(), jsonObject.get("sex").toString(), Integer.valueOf(jsonObject.get("age").toString())); System.out.println(person.toString()); }
(2)利用Jackson方式:
由實體類生成Json字符串:
@Test public void EntityToJson() throws IOException { Person person = new Person("張三", "男", 25); ObjectMapper objectMapper = new ObjectMapper(); String jsonString = objectMapper.writeValueAsString(person); System.out.println(jsonString); }
由Json字符串生成實體類:
@Test public void JsonToEntity() throws IOException { ObjectMapper objectMapper = new ObjectMapper(); String jsonString = "{\"name\":\"張三\",\"sex\":\"男\(zhòng)",\"age\":25}"; Person person = objectMapper.readValue(jsonString, Person.class); System.out.println(person); }
(3)利用GSON方式:
由實體類生成Json字符串:
@Test public void EntityToJson(){ Person person = new Person("張三", "男", 25); Gson gson = new Gson(); String jsonString = gson.toJson(person); System.out.println(jsonString); }
由Json字符串生成實體類:
@Test public void JsonToEntity(){ String jsonString = "{\"name\":\"張三\",\"sex\":\"男\(zhòng)",\"age\":25}"; Gson gson = new Gson(); Person person = gson.fromJson(jsonString, Person.class); System.out.println(person.toString()); }
(4)利用FastJSON方式
由實體類生成Json字符串:
@Test public void EntityToJson(){ Person person = new Person("張三", "男", 25); Object jsonString = JSON.toJSON(person); System.out.println(jsonString.toString()); }
由Json字符串生成實體類:
@Test public void JsonToEntity(){ String jsonString = "{\"name\":\"張三\",\"sex\":\"男\(zhòng)",\"age\":25}"; Person person = JSON.parseObject(jsonString, Person.class); System.out.println(person.toString()); }
感謝你能夠認真閱讀完這篇文章,希望小編分享JAVA中json如何解析內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!
新聞標題:JAVA中json如何解析-創(chuàng)新互聯(lián)
本文來源:http://bm7419.com/article10/diccgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站改版、域名注冊、云服務器、建站公司、用戶體驗
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)