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

Java 如何返回Json的第一个和最后一个元素,java,json,gson,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) + " - " + jsonObjec

使用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转换为某种对象。因此,请使用来自JSON的
fromJson

其次,构建一个对象,您可以将数据放入其中。gson的手动站点上有很多示例:

让我给你编码。没那么难:

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;
    }
}
一般的方法是:获取json字符串并将其放入某种java对象中。然后访问该java对象以获取数据


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

首先:toJson将某些东西转换为json。您希望将json转换为某种对象。因此,请使用来自JSON的
fromJson

其次,构建一个对象,您可以将数据放入其中。gson的手动站点上有很多示例:

让我给你编码。没那么难:

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;
    }
}
一般的方法是:获取json字符串并将其放入某种java对象中。然后访问该java对象以获取数据


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

我也尝试了我看到的fromJSON示例,但是如果我为jsonObject.get(domain)做了writeln;get(result.toString());它将写为null,所以这里有一个示例。我也尝试了我看到的fromJSON示例,但是如果我为jsonObject.get(domain)编写一个writeln;get(result.toString());它将写为null,所以这里有一个示例。没那么难。