【发布时间】:2021-10-15 06:18:43
【问题描述】:
我有休息电话,我想从 JSON 响应中获取关键值之一,例如“employeeID”的值。
这是其余调用的代码:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
public class App {
public static String username = "Test_Username";
public static void main(String[] args) {
try {
URL url = new URL ("http://api.com/" + username);
String encoding = Base64.getEncoder().encodeToString(":".getBytes("utf-8"));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setRequestProperty ("Authorization", "Basic " + encoding);
InputStream content = (InputStream)connection.getInputStream();
BufferedReader in =
new BufferedReader (new InputStreamReader (content));
String line = "";
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
这是 JSON 响应的示例:
[{
"user": {
"userID": "Adam555",
"name": "Test Account",
"id": 1055287,
"recentApps": null,
"employeeID": "2991KDS"
},
"user_state": {
"EmployeeLookUpDBId": 1055304,
"userID": "Adam555",
"username": "Adam555"}]
那么如何在 System.out.println 中获取它,例如说“2991KDS”?
【问题讨论】:
-
@crocarneiro 不幸的是,不,我只想获得一个值,而不是整个 JSON 响应。我已经成功获得了响应,我只想从响应中提取一个值。
-
@AdamAyman 解析 JSON 响应后,很容易从 JSON 响应中提取任何值。请在 Google 上搜索“如何在 Java 中使用 JSON 响应”,而不是在 StackOverflow 上发布。