1、所需jar包:java
jackson-core-x.x.x-rc4.jar、jackson-databind-x.x.x-rc4.jar、jackson-annotations-x.x.x-rc4.jar(本例使用jackson-core-2.6.0-rc4.jar、jackson-databind-2.6.0-rc4.jar、jackson-annotations-2.6.0-rc4.jar)。node
2、解析轉化:json
一、json字符串 < ------ > jsapp
String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"廣州\",\"weight\" : \"55.5\",\"handsome\" : true}"; //json字符串 ------> json ObjectMapper mapper=new ObjectMapper(); JsonNode jsonNode=mapper.readTree(str); //json ------>json字符串 String jsonStr=jsonNode.toString();
二、java實體類 < ------ > jsonspa
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); ObjectMapper mapper=new ObjectMapper(); //java實體類 ------> json字符串 String jsonStr=mapper.writeValueAsString(user); //json字符串------>json JsonNode json=mapper.readTree(jsonStr); //json ------> java實體類 User user2=mapper.readValue(jsonStr, User.class);
三、List < ------ > jsoncode
List<String> list=new ArrayList<String>(); list.add("QQQQQQ"); list.add("WWWWWW"); list.add("EEEEEE"); list.add("RRRRRR"); ObjectMapper mapper=new ObjectMapper(); //List ------> json字符串 String jsonStr=mapper.writeValueAsString(list);
//json字符串 ------> json
JsonNode jsonNode=mapper.readTree(jsonStr); //json字符串 ------> List List<String> list2=mapper.readValue(jsonStr, List.class);
四、Map < ------ > jsonblog
Map<String, String> map=new HashMap<String, String>(); map.put("name", "peter"); map.put("sex", "Man"); map.put("age", "20"); ObjectMapper mapper=new ObjectMapper(); //Map ------> json字符串 String jsonStr=mapper.writeValueAsString(map); //json字符串 ------> json JsonNode json=mapper.readTree(jsonStr); //json ------> Map Map<String, String> map2=mapper.readValue(json.toString(), Map.class);
五、Set < ------ > jsonrem
Set<String> set=new HashSet<String>(); set.add("QQQQQQ"); set.add("wwwwww"); set.add("eeeeee"); ObjectMapper mapper=new ObjectMapper(); //Set ------> json字符串 String jsonStr=mapper.writeValueAsString(set);
//json字符串 ------> json
JsonNode jsonNode=mapper.readTree(jsonStr); //json字符串 ------> Set Set<String> set2=mapper.readValue(jsonStr, Set.class);
3、CRUD:字符串
一、查詢數據:get
//peter String name=jsonNode.get("name").asText(); //"peter" String name1=jsonNode.get("name").toString();
//提取handsome(true)
JsonNode handsome=jsonNode.path("handsome"); int age=jsonNode.get("age").asInt(); double weight=jsonNode.get("weight").asDouble(); boolean handsome=jsonNode.get("handsome").asBoolean()
for (int i = 0; i < jsonNode.size(); i++) { System.out.println(jsonNode.get(i)); }
二、增長數據:
ObjectMapper mapper=new ObjectMapper(); ObjectNode node=mapper.createObjectNode(); //{"name":"DJ","age":18} node.put("name", "DJ"); node.put("age", 18);
ArrayNode arrayNode=mapper.createArrayNode(); //["name","age"] arrayNode.add("name"); arrayNode.add("age");
三、刪除數據:
ObjectMapper mapper=new ObjectMapper(); ObjectNode node=mapper.createObjectNode(); node.put("name", "DJ"); node.put("age", 18); node.remove("name");
ArrayNode arrayNode=mapper.createArrayNode(); //["name","age"] arrayNode.add("name"); arrayNode.add("age"); int index=0; arrayNode.remove(index);
四、修改數據:
ObjectMapper mapper=new ObjectMapper(); ObjectNode node=mapper.createObjectNode(); node.put("name", "DJ"); node.put("age", 18); //重置數據 node.put("name", "MDJ");
ArrayNode arrayNode=mapper.createArrayNode(); //["name","age"] arrayNode.add("name"); arrayNode.add("age"); for (int i = 0; i < arrayNode.size(); i++) { if("name".equals(arrayNode.get(i).asText())){ arrayNode.remove(i); arrayNode.add("userName"); } }