json字串和java互轉
阿新 • • 發佈:2019-02-17
在專案開發中,json跟java相互轉換是使用最多的,話不多說直接看栗子
package json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONDemo { public static void main(String[] args) { jsonToJAVA(); jsonsToJAVA(); javaToJSON(); javaBeanToJSON(); javaToJson(); } /* * json字串轉JSONObject */ public static void jsonToJAVA() { String jsonStr = "{\"password\":\"123456\",\"username\":\"張三\"}"; JSONObject jsonObj = JSONObject.fromString(jsonStr); System.out.println("json--->java \t"+jsonObj.getString("username")); } /* * json字串陣列轉為JSONArray */ public static void jsonsToJAVA(){ String array = "{\"list\":[{\"key0\":\"value0\"},{\"key1\":\"value1\"},{\"key2\":\"value2\"}]}"; JSONObject json = JSONObject.fromString(array); JSONArray jsonArray = JSONArray.fromString(json.getString("list")); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObj = (JSONObject) jsonArray.get(i); System.out.println("jsons--->java \t"+jsonObj); } } /* * JSONObject轉json字元 */ public static void javaToJSON() { JSONObject jsonObj = new JSONObject(); jsonObj.put("username","張三"); jsonObj.put("password","123456"); System.out.println("java--->json \t" + jsonObj.toString()); } /* * javabean轉json字串 */ public static void javaBeanToJSON() { UserInfo userInfo = new UserInfo(); userInfo.setUsername("張三"); userInfo.setPassword("123456"); JSONObject json = JSONObject.fromBean(userInfo); System.out.println("javabean--->json \t" + json.toString()); } /* * 集合轉為json字串 */ public static void javaToJson(){ Map<String,Object> result = new HashMap<String,Object>(); List<Map<String,String>> list = new ArrayList<Map<String,String>>(); for(int i=0;i<3;i++){ Map<String,String> map = new HashMap<String, String>(); map.put("key"+i,"value"+i); list.add(map); } result.put("list",list); result.put("k1","v1"); JSONObject jsonObject = JSONObject.fromMap(result); System.out.println("Map--->json \t"+jsonObject); } }
package json; public class UserInfo { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }