如何仅从 JSON HTTP 响应 Spring 引导中解析 1 个变量
How to parse only 1 variable from JSON HTTP response Spring Boot
您好,我想使用 Java(+Spring 引导)以最佳方式从 GET 响应中仅解析 1 个值。
{
"table": "A",
"currency": "usd",
"code": "USD",
"rates": [
{
"no": "073/A/NBP/2021",
"effectiveDate": "2021-04-16",
"mid": 3.7978
}
]
}
我正在寻找无需为此响应创建 DTO 即可解析“中间”值的方法。在最坏的情况下,我只会做一个子字符串。
试试这个。
String input = "{\r\n"
+ " \"table\": \"A\",\r\n"
+ " \"currency\": \"usd\",\r\n"
+ " \"code\": \"USD\",\r\n"
+ " \"rates\": [\r\n"
+ " {\r\n"
+ " \"no\": \"073/A/NBP/2021\",\r\n"
+ " \"effectiveDate\": \"2021-04-16\",\r\n"
+ " \"mid\": 3.7978\r\n"
+ " }\r\n"
+ " ]\r\n"
+ "}";
String midValue = input.replaceFirst("(?s).*\"mid\"\s*:\s*([-.\d]+).*", "");
System.out.println(midValue);
输出:
3.7978
您好,我想使用 Java(+Spring 引导)以最佳方式从 GET 响应中仅解析 1 个值。
{
"table": "A",
"currency": "usd",
"code": "USD",
"rates": [
{
"no": "073/A/NBP/2021",
"effectiveDate": "2021-04-16",
"mid": 3.7978
}
]
}
我正在寻找无需为此响应创建 DTO 即可解析“中间”值的方法。在最坏的情况下,我只会做一个子字符串。
试试这个。
String input = "{\r\n"
+ " \"table\": \"A\",\r\n"
+ " \"currency\": \"usd\",\r\n"
+ " \"code\": \"USD\",\r\n"
+ " \"rates\": [\r\n"
+ " {\r\n"
+ " \"no\": \"073/A/NBP/2021\",\r\n"
+ " \"effectiveDate\": \"2021-04-16\",\r\n"
+ " \"mid\": 3.7978\r\n"
+ " }\r\n"
+ " ]\r\n"
+ "}";
String midValue = input.replaceFirst("(?s).*\"mid\"\s*:\s*([-.\d]+).*", "");
System.out.println(midValue);
输出:
3.7978