1、所需jar包:java
gson-x.x.jar(本例使用的是gson-2.7.jar)。json
2、解析轉化:spa
一、json字符串 < ------ > jsoncode
String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"廣州\",\"weight\" : \"55.5\",\"handsome\" : true}"; Gson gson=new Gson(); //json字符串 ------> json JsonObject jsonObject=new JsonParser().parse(str).getAsJsonObject(); //json ------> json字符串 String json=jsonObject.toString();
二、java實體類 < ------ > jsonblog
public class User { private String name; private int age; private String address; private double weight; private boolean handsome; //此處省略構造方法和get/set方法
User user=new User("peter", 20, "廣州", 55.5, true); /* * java實體類 ------> json */ //java實體類 ------> json字符串 String jsonStr=new Gson().toJson(user); //json字符串 ------> json JsonObject jsonObject=new JsonParser().parse(jsonStr).getAsJsonObject(); //json ------> java實體類 User user2=new Gson().fromJson(jsonObject, User.class);
三、List < ------ > jsonrem
List<String> list=new ArrayList<String>(); list.add("QQQQQQ"); list.add("WWWWWW"); list.add("EEEEEE"); list.add("RRRRRR"); Gson gson=new Gson(); //List------>json字符串------>jsonAray String arrStr=gson.toJson(list); JsonArray jsonArray=new JsonParser().parse(arrStr).getAsJsonArray(); //jsonAray------>List List<String> list2=gson.fromJson(jsonArray, List.class);
四、Map < ------ > json字符串
Map<String, String> map=new HashMap<String, String>(); map.put("name", "peter"); map.put("sex", "Man"); map.put("age", "20"); Gson gson=new Gson(); //Map------>json字符串------>json String gsonStr=gson.toJson(map); JsonObject jsonObject=new JsonParser().parse(gsonStr).getAsJsonObject(); //json------->Map Map<String, String> map2=gson.fromJson(jsonObject, Map.class);
五、Set < ------ > jsonget
Set<String> set=new HashSet<String>(); set.add("QQQQQQ"); set.add("wwwwww"); set.add("eeeeee"); Gson gson=new Gson(); //Set------>json字符串------>json String gsonStr=gson.toJson(set); JsonArray jsonArray=new JsonParser().parse(gsonStr).getAsJsonArray(); //json----->Set Set<String> set2=gson.fromJson(jsonArray, Set.class);
心得:Gson(Google)是將json字符串做爲「橋樑」進行轉化的。class
3、CRUD:List
一、查詢數據:
//"peter" String name1=jsonObject.get("name").toString(); //peter String name2=jsonObject.get("name").getAsString();
int age=jsonObject.get("age").getAsInt();
for (int i = 0; i < jsonArray.size(); i++) { System.out.println(jsonArray.get(i)); }
二、增長數據
jsonObject.addProperty("height", 170);
jsonArray.add("RRRRRR");
三、刪除數據:
jsonObject.remove("height");
//index從0開始 jsonArray.remove(index);
四、修改數據:
//重置數據便可 jsonObject.addProperty("height", 180);
for (int i = 0; i < jsonArray.size(); i++) { if("EEEEEE".equals(jsonArray.get(i).getAsString())){ jsonArray.remove(i); jsonArray.add("eeeeee"); } }