一、方式一,引用gson工具
测试报文:
{"account":"yanxiaosheng","password":"123456"
}
引入pom
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.6.2</version>
</dependency>
测试类:
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;@Test
public void test() throws Exception {String json = "{\n" +"\t\"account\":\"yanxiaosheng\",\n" +"\t\"password\":\"123456\"\n" +"}";JsonParser jsonParser = new JsonParser();JsonElement jsonElement = jsonParser.parse(json);JsonObject jsonObject = jsonElement.getAsJsonObject();String fieldValue = jsonObject.get("account").getAsString();System.out.println(fieldValue);
}
二、方式二,使用jackson
{"account":"yanxiaosheng","password":"123456","flag":"true"
}
测试类:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;@Testpublic void test() throws Exception {String json = "{\n" +"\t\"account\":\"yanxiaosheng\",\n" +"\t\"password\":\"123456\",\n" +"\t\"flag\":\"true\"\n" +"}";ObjectMapper objectMapper = new ObjectMapper();JsonNode jsonNode = objectMapper.readTree(json);String account = jsonNode.get("account").asText();int password = jsonNode.get("password").asInt();boolean flag = jsonNode.get("flag").asBoolean();System.out.println(account);System.out.println(password);System.out.println(flag);}
三、方式三,使用jackson转换Object
测试报文:
{"account":"yanxiaosheng","password":"123456"
}
测试类:
@Testpublic void test() throws Exception {String json = "{\n" +"\t\"account\":\"yanxiaosheng\",\n" +"\t\"password\":\"123456\"\n" +"}";ObjectMapper objectMapper = new ObjectMapper();Login login = objectMapper.readValue(json, DepositTest.Login.class);System.out.println(login.toString());}public static class Login{private String account;private String password;public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "Login{" +"account='" + account + '\'' +", password='" + password + '\'' +'}';}}
注意!!!DepositTest.Login.class DepositTest 需使用自己写的测试类名
四、方式四,使用hutool,获取报文数组数据
测试报文:
{"code":"0","message":"","data":[{"account":"yanxiaosheng","password":"123456"}]
}
引入pom
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.1.19</version>
</dependency>
测试类:
@Testpublic void test() throws Exception {String json = "{\n" +"\t\"code\":\"0\",\n" +"\t\"message\":\"\",\n" +"\t\"data\":[{\n" +"\t\t\"account\":\"yanxiaosheng\",\n" +"\t\t\"password\":\"123456\"\n" +"\t}]\n" +"}";JSONObject jsonObject = new JSONObject(json);JSONArray jsonArray = jsonObject.getJSONArray("data");JSONObject resultObject = jsonArray.getJSONObject(0);String account = resultObject.getStr("account");System.out.println(account);}