java - 如何返回 Json 的第一个和最后一个元素

标签 java json gson

使用 gson 如何从 json 返回第一个和最后一个元素,以便获取这种格式的数据?

System.out.println("Student: BobGoblin - result: 59");

我已经尝试过了,但它仍然返回完整的 JSON 对象

JsonObject jsonObject = new Gson().fromJson(content.toString(), JsonObject.class);
return jsonObject.get(domain) + " - " + jsonObject.get(result.toString());

最佳答案

首先:toJson 将某些内容转换为 json。您想将 json 转换为某种对象。因此,请改用 fromJson

其次构建一个可以将数据放入其中的对象。 gson 的手册网站上有很多示例: https://github.com/google/gson/blob/master/UserGuide.md

让我为您编码。这并不难:

import java.util.Map;

import com.google.gson.Gson;

public class GsonTest {

    public static void main(String args[]) {

      Gson gson = new Gson();

      String json = "{\"name\":\"Bog\", \"foo\":\"bar\", \"result\": 59}";

      // Using a map
      @SuppressWarnings( "unchecked" )
      Map<String,Object> map = gson.fromJson( json, Map.class );
      System.out.println( "Name: " + map.get( "name" ) + " result: " + map.get( "result" ) );

      // Better: using an object
      Student student = gson.fromJson( json, Student.class );
      System.out.println( "Name: " + student.name + " result: " + student.result );

    }

    public static class Student {
        public String name;
        public String foo;
        public int result;
    }
}

这将导致:

Name: Bog result: 59.0
Name: Bog result: 59

一般方法是:获取json字符串并将其放入某种java对象中。然后访问该 java 对象以获取您的数据。

请注意,使用第二种方法您可以更好地控制将接收的数据类型。由于 json 没有指定数据类型,解析器会猜测 float/double 的年龄,而在第二个示例中使用 int 因为类是这么说的。

关于java - 如何返回 Json 的第一个和最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60643491/

相关文章:

java-创建文本文件的简单字节偏移索引

java - 序列化和反序列化 JSON 中的对象

java - 使从 JSON 模式生成的 POJO 类可序列化

Android JSONObject 与 GSON

java - 使用 Retrofit 和 Gson 以及返回动态顶级 JSON 的 api

java - Android 相机,内部列表选项?

java - java中如何分割字符串

kotlin - Kotlin 接口(interface)中的 Gson SerializedName

java - 使用 Apache Axis 通过 SSL 调用客户端 Web 服务

json - R:将特定行转换为列