Java中的JSON對(duì)象一般都是以字符串的形式傳遞的,而我們通常會(huì)將其轉(zhuǎn)化為Java對(duì)象處理。下面是使用Java將JSON字符串轉(zhuǎn)為對(duì)象的示例:
//定義JSON字符串 String jsonStr = "{ \"name\": \"Tom\", \"age\": 20 }"; //解析JSON字符串 JSONObject jsonObject = new JSONObject(jsonStr); //將JSON對(duì)象轉(zhuǎn)化為Java對(duì)象 Person person = new Person(jsonObject.getString("name"), jsonObject.getInt("age"));
在上述代碼中,我們通過(guò)JSONObject類將JSON字符串解析為JSON對(duì)象,再通過(guò)獲取JSON對(duì)象中的屬性來(lái)構(gòu)造Java對(duì)象。
如果我們需要將一個(gè)JSON數(shù)組解析為Java對(duì)象,則可以使用JSONArray類:
//定義JSON數(shù)組 String jsonArrayStr = "[{ \"name\": \"Tom\", \"age\": 20 }, { \"name\": \"Jerry\", \"age\": 25 }]"; //解析JSON數(shù)組 JSONArray jsonArray = new JSONArray(jsonArrayStr); //遍歷JSON數(shù)組并將每個(gè)JSON對(duì)象轉(zhuǎn)為Java對(duì)象 ListpersonList = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); personList.add(new Person(jsonObject.getString("name"), jsonObject.getInt("age"))); }
在上述代碼中,我們通過(guò)JSONArray類將JSON數(shù)組解析為數(shù)組對(duì)象,并遍歷數(shù)組將每個(gè)JSON對(duì)象轉(zhuǎn)為Java對(duì)象。
總之,在Java中將JSON字符串轉(zhuǎn)為Java對(duì)象主要是通過(guò)JSONObject和JSONArray這兩個(gè)類來(lái)解析和轉(zhuǎn)化的。