JSON字符串中獲取一個(gè)指定字段的值四種方式
一、方式一,引用gson工具
測(cè)試報(bào)文:
{
"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>
測(cè)試類:
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"
}測(cè)試類:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@Test
public 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轉(zhuǎn)換Object
測(cè)試報(bào)文:
{
"account":"yanxiaosheng",
"password":"123456"
}測(cè)試類:
@Test
public 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;
}
@Override
public String toString() {
return "Login{" +
"account='" + account + '\'' +
", password='" + password + '\'' +
'}';
}
}
注意?。。?strong>DepositTest.Login.class DepositTest 需使用自己寫(xiě)的測(cè)試類名
四、方式四,使用hutool,獲取報(bào)文數(shù)組數(shù)據(jù)
測(cè)試報(bào)文:
{
"code":"0",
"message":"",
"data":[{
"account":"yanxiaosheng",
"password":"123456"
}]
}引入pom
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.1.19</version> </dependency>
測(cè)試類:
@Test
public 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);
}
總結(jié)
到此這篇關(guān)于JSON字符串中獲取一個(gè)指定字段的值四種方式的文章就介紹到這了,更多相關(guān)JSON字符串獲取指定字段值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA插件之Mybatis Log plugin 破解及安裝方法
這篇文章主要介紹了IDEA插件之Mybatis Log plugin 破解方法及安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Spring 使用Validation 驗(yàn)證框架的問(wèn)題詳解
Spring Boot在內(nèi)部通過(guò)集成hibernate-validation已經(jīng)實(shí)現(xiàn)了JSR-349驗(yàn)證規(guī)范接口,在Spring Boot項(xiàng)目中只要直接使用就行了。 一般用在Controller中用于驗(yàn)證前端傳來(lái)的參數(shù)。這篇文章給大家介紹Spring Validation 驗(yàn)證框架的相關(guān)知識(shí),感興趣的朋友一起看看吧2021-07-07
詳解java集成支付寶支付接口(JSP+支付寶20160912)
本篇文章主要介紹了java集成支付寶支付接口,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
springMVC之HandlerExceptionResolver使用
這篇文章主要介紹了springMVC之HandlerExceptionResolver使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

