如何使用Java反射从JSON请求中通过键获取特定值
格式化JSON数据如何使用Java反射从JSON请求中通过键获取特定值,java,reflection,Java,Reflection,格式化JSON数据 { "userId":"123", "userName":"user", "age":12 } 从上面的JSON请求中,我只想通过Java反射获取要存储在数据库中的userName数据。您可以使用jacksonJSON解析器 下面只是一个代码示例(不保证它会编译并为您工作),您应该将其放入接收请求的controler方法中 import com.fasterxml.jackson.core.JsonProcessingException; impo
{
"userId":"123",
"userName":"user",
"age":12
}
从上面的JSON请求中,我只想通过Java反射获取要存储在数据库中的
userName
数据。您可以使用jackson
JSON解析器
下面只是一个代码示例(不保证它会编译并为您工作),您应该将其放入接收请求的controler方法中
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
//put below codes in your request handling method
String jsonStr = req.getReader().lines().collect(Collectors.joining(
System.lineSeparator()));
System.out.println(jsonStr);
JsonNode rootNode = new ObjectMapper().readTree(new StringReader(jsonStr));
JsonNode userName=rootNode.get("userName");
String userNameStr=userName.asText();
// store in data base
有关api的详细信息,请参阅。您可以使用以下代码从json数据中获取用户名
JSONObject obj = new JSONObject(YOUR_JSON.toString());
String userName = obj.getString("userName");
有两种解决方案:
jackson
,gson
,json.org
。。。并从JsonNode获取用户名“用户名”:“((\\“\[^”])+)”
组(1)
是您的用户您可以使用JSON库解析字符串并检索值 基本示例:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
String jsonString = "{ \"userId\":\"123\", \"userName\":\"user\", \"age\":12 }";
JSONObject jsonObject = new JSONObject(jsonString);
String userName = jsonObject.getString("userName");
System.out.println("UserName is: " + userName);
}
}
UserName is: user
输出:
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
String jsonString = "{ \"userId\":\"123\", \"userName\":\"user\", \"age\":12 }";
JSONObject jsonObject = new JSONObject(jsonString);
String userName = jsonObject.getString("userName");
System.out.println("UserName is: " + userName);
}
}
UserName is: user
注意:不要忘记在POM文件中添加json依赖项
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
org.json
,还有更多。您可以使用其中任何一个。请向我们展示您迄今为止从响应中获取数据的尝试。