如何在 java 中打印类似字典的 StringBuffer 的值?
How to print the values of a dictionary-like StringBuffer in java?
我有这个代码:
StringBuffer sb = new StringBuffer();
try {
BufferedReader reader = request.getReader();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
行:
System.out.println(line);
在循环结束时在控制台中打印如下:
{"signupname":"John","signuppassword":"1234","signupnickname":"Jonny",
"signupdescription":"student","signupphoto":"(here photo url)"}
如何才能只获取键的值?我想要这样的东西:
约翰
1234
强尼
学生
(这里是照片url)
感谢帮助:)
格式类似于 JSON。如果是这样,请使用您喜欢的任何 JSON 解析器并只获取密钥。
例如org.json:json 在 Maven 中心。
如果每一行都是一个完整的JSON对象。你可以使用 Gson JSON 解析器。
https://mvnrepository.com/artifact/com.google.code.gson/gson
StringBuffer sb = new StringBuffer();
try {
BufferedReader reader = request.getReader();
String line;
Gson gson = new Gson();
while ((line = reader.readLine()) != null) {
Map map = gson.fromJson(line, Map.class);
for(Object value : map.values()) {
System.out.println(value);
}
sb.append(line);
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
我有这个代码:
StringBuffer sb = new StringBuffer();
try {
BufferedReader reader = request.getReader();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
行:
System.out.println(line);
在循环结束时在控制台中打印如下:
{"signupname":"John","signuppassword":"1234","signupnickname":"Jonny",
"signupdescription":"student","signupphoto":"(here photo url)"}
如何才能只获取键的值?我想要这样的东西: 约翰 1234 强尼 学生 (这里是照片url)
感谢帮助:)
格式类似于 JSON。如果是这样,请使用您喜欢的任何 JSON 解析器并只获取密钥。
例如org.json:json 在 Maven 中心。
如果每一行都是一个完整的JSON对象。你可以使用 Gson JSON 解析器。
https://mvnrepository.com/artifact/com.google.code.gson/gson
StringBuffer sb = new StringBuffer();
try {
BufferedReader reader = request.getReader();
String line;
Gson gson = new Gson();
while ((line = reader.readLine()) != null) {
Map map = gson.fromJson(line, Map.class);
for(Object value : map.values()) {
System.out.println(value);
}
sb.append(line);
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}