一、方式一,引用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;
@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转换object
测试报文:
{
"account":"yanxiaosheng",
"password":"123456"
}测试类:
@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 + '\'' +
'}';
}
}
注意!!!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>
测试类:
@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);
}
总结
到此这篇关于json字符串中获取一个指定字段的值四种方式的文章就介绍到这了,更多相关json字符串获取指定字段值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论