如何在 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 中心。

https://github.com/stleary/JSON-java

如果每一行都是一个完整的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();
}