很多朋友都想知道java怎么讀取json?下面就一起來(lái)了解一下吧~
首先在json官網(wǎng)頁(yè)面的下方,在各個(gè)語(yǔ)言中的實(shí)現(xiàn)方法和操作類(lèi)庫(kù),找到 Java 語(yǔ)言,選擇 google-gson。
打開(kāi)資源管理器,在工程 TestReadJSON 文件夾下,放入一個(gè) JSON 文件:test.json
test.json 的內(nèi)容:
package?com.json;? import?java.io.FileNotFoundException;? import?java.io.FileReader;???? import?com.google.gson.JsonArray;? import?com.google.gson.JsonIOException;? import?com.google.gson.JsonObject;? import?com.google.gson.JsonParser;? import?com.google.gson.JsonSyntaxException;? public?class?ReadJSON?{? /**? *?通過(guò)解析器將test.json轉(zhuǎn)換成JsonObject? *? *?@param?args? */? public?static?void?main(String[]?args)?{? //將?test.json?的數(shù)據(jù)轉(zhuǎn)換成?JSON?對(duì)象? //需要?jiǎng)?chuàng)建一個(gè)解析器,可以用來(lái)解析字符串或輸入流? JsonParser?parser=new?JsonParser(); try?{? //創(chuàng)建一個(gè)JSON對(duì)象,接收parser解析后的返回值? //使用parse()方法,傳入一個(gè)Reader對(duì)象,返回值是JsonElement類(lèi)型? //因?yàn)橐x取文件,所以傳入一個(gè)FileReader? //JsonObject是JsonElement的子類(lèi),所以需要強(qiáng)轉(zhuǎn)? //有異常拋出,使用?try?catch?捕獲? JsonObject?object=(JsonObject)?parser.parse(new?FileReader("test.json"));? //先將兩個(gè)外部的屬性輸出?category?和?pop? //先?get?到名稱(chēng)(鍵),返回的是?JsonElement,再?getAs?轉(zhuǎn)換成什么類(lèi)型的值? //依據(jù)?json?格式里的數(shù)據(jù)類(lèi)型? System.out.println("category="+object.get("category").getAsString());? System.out.println("pop="+object.get("pop").getAsBoolean());? //接著讀取test.json里的JSON數(shù)組,名稱(chēng)是languages(鍵)? //創(chuàng)建一個(gè)JsonArray? JsonArray?array=object.get("languages").getAsJsonArray();? for?(int?i?=?0;?i?以上就是小編今天的分享,希望能夠幫到大家。