1. 使用 alibaba 的 fastJson
添加依赖或者jar
fastJson 简单使用
JSON > Java对象
java对象 > json
w3c的 API 连接:https://www.w3cschool.cn/fastjson/fastjson-api.html
-
public class MyJson {
-
public static String jsonmap = "{\"001\":{\"name\":\"xiaohong\",\"password\":\"654321\"},\"002\":[{\"$ref\":\"$.001\"},{\"name\":\"xixi\",\"password\":\"789\"}]}";
-
public static String jsonuser = "{\"name\":\"xiaohong\",\"password\":\"654321\"}";
-
public static String jsonlist = "[{\"name\":\"xiaohong\",\"password\":\"654321\"},{\"name\":\"xixi\",\"password\":\"789\"}]";
-
-
public static void main(String[] args) {
-
User user = new User();
-
user.setName("xiaohong");
-
user.setPassword("654321");
-
List
<User> list = new ArrayList
<User>();
-
list.add(user);
-
list.add(new User("xixi","789"));
-
Map map = new HashMap();
-
map.put("001",user);
-
map.put("002",list);
-
// 1. json字符串 转换为 java 对象
-
-
-
// toJsonString - java对象转换为json字符串
-
System.out.println(JSONObject.toJSONString(user));
-
System.out.println(JSONObject.toJSONString(list));
-
System.out.println(JSONObject.toJSONString(map));
-
-
// toJavaObject - json字符串转换为java对象
-
System.out.println(JSONObject.parseObject(jsonuser,User.class));
-
List list1 = JSONObject.parseObject(jsonlist, List.class);
-
for(int i=0;i
<list1.size();i++) {
-
System.out.println(JSONObject.parseObject(JSONObject.toJSONString(list1.get(i)),User.class));
-
}
-
Map map1 = JSONObject.parseObject(jsonmap, Map.class);
-
Iterator iterator = map1.entrySet().iterator();
-
while (iterator.hasNext()) {
-
Map.Entry entry= (Map.Entry) iterator.next();
-
System.out.println("key :"+entry.getKey()+" value: " + entry.getValue());
-
}
-
-
// Json -- 实体类转换为json字符串
-
System.out.println(JSON.toJSONString(user));
-
System.out.println(JSON.toJSONString(list));
-
System.out.println(JSON.toJSONString(map));
-
-
// json -- json 转 java对象
-
System.out.println(JSON.parseObject(jsonuser,User.class));
-
List list2 = JSON.parseObject(jsonlist, List.class);
-
for(int i=0;i<list2.size();i++) {
-
System.out.println(JSON.parseObject(JSON.toJSONString(list1.get(i)),User.class));
-
}
-
Map map2 = JSON.parseObject(jsonmap, Map.class);
-
Iterator iterator2 = map1.entrySet().iterator();
-
while (iterator2.hasNext()) {
-
Map.Entry entry= (Map.Entry) iterator2.next();
-
System.out.println("key :"+entry.getKey()+" value: " + entry.getValue());
-
}
-
-
}
-
}
-
jackson :
使用:
入门连接:https://blog.csdn.net/mashangyou/article/details/24271001
测试json
public class Myjackson { public static String jsonmap = "{\"001\":{\"name\":\"xiaohong\",\"password\":\"654321\"},\"002\":[{\"$ref\":\"$.001\"},{\"name\":\"xixi\",\"password\":\"789\"}]}"; public static String jsonuser = "{\"name\":\"xiaohong\",\"password\":\"654321\"}"; public static String jsonlist = "[{\"name\":\"xiaohong\",\"password\":\"654321\"},{\"name\":\"xixi\",\"password\":\"789\"}]"; public static void main(String[] args) throws IOException { // 创建 objectMapper ObjectMapper mapper = new ObjectMapper(); // 读取树模型 mapper.readTree 相当于 把 json 读取为一个json树 JsonNode jsonNode = mapper.readTree(jsonmap); // 获取 001 JsonNode path001 = jsonNode.path("001"); System.out.println(path001); System.out.println(path001.path("name")); System.out.println(path001.findPath("password")); // json > java对象 User user = mapper.readValue(jsonuser, User.class); System.out.println("user ==" + user); System.out.println(mapper.readValue(jsonlist, List.class)); System.out.println(mapper.readValue(jsonmap,Map.class)); // java对象 》 json String s = mapper.writeValueAsString(user); System.out.println(s); } }
还可以将 json 输入到 文件中
Gson:
package com.xiaodu.json; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.xiaodu.model.User;
import java.util.List;
import java.util.Map;
/**
-
@author du_tian_jie
-
@version v1.0
-
@date
-
@desc:
*/
public class MyGson {public static String jsonmap = “{“001”:{“name”:“xiaohong”,“password”:“654321”},“002”:[{”KaTeX parse error: Can't use function '\"' in math mode at position 4: ref\̲"̲:\".001"},{“name”:“xixi”,“password”:“789”}]}";
public static String jsonuser = “{“name”:“xiaohong”,“password”:“654321”}”;
public static String jsonlist = “[{“name”:“xiaohong”,“password”:“654321”},{“name”:“xixi”,“password”:“789”}]”;public static void main(String[] args) {
// json >java Gson gson = new Gson(); User user = gson.fromJson(jsonuser, User.class); System.out.println(user); System.out.println(gson.fromJson(jsonlist, List.class)); System.out.println(gson.fromJson(jsonmap,Map.class)); // java > json String json = gson.toJson(new User("小红", "1212")); System.out.println(json); // jsonObject 对象使用(使用jsonObject 对象) JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name","小王"); jsonObject.addProperty("password","7890000"); JsonArray jsonArray = new JsonArray(); jsonArray.add(jsonObject); jsonArray.add(jsonObject); // 添加两个 一模一样的 -- 懒 System.out.println(jsonArray.toString());
}
}