Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gson反序列化内部部分_Java_Json_Gson - Fatal编程技术网

Java Gson反序列化内部部分

Java Gson反序列化内部部分,java,json,gson,Java,Json,Gson,我有以下JSON: {    "LightObjectSet": {       "Objects": {          "Org": {             "State": "Unchanged",             "Guid": "00000000-0000-0000-0000-000000000000",             "Id": "39",             "Name": "Test org",             "ShortName": "Te

我有以下JSON:

{
   "LightObjectSet": {
      "Objects": {
         "Org": {
            "State": "Unchanged",
            "Guid": "00000000-0000-0000-0000-000000000000",
            "Id": "39",
            "Name": "Test org",
            "ShortName": "Test"
         }
      }
   }
}

我可以使用Gson仅反序列化
Org
对象(不是所有结构)吗?

试试这个。请注意,反序列化的
Org
类没有遵循Java命名约定来匹配JSON。如果要遵循它们,则需要使用
@SerializedName

public class Q13363304 {

    class Org {

        String State;
        String Guid;
        int Id;
        String Name;
        String ShortName;

        @Override
        public String toString() {
            return "Org [State=" + State + ", Guid=" + Guid + ", Id=" + Id
                    + ", Name=" + Name + ", ShortName=" + ShortName + "]";
        }

    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        String json = "{ \"LightObjectSet\": { \"Objects\": { \"Org\": { \"State\":\"Unchanged\", \"Guid\":\"00000000-0000-0000-0000-000000000000\", \"Id\":\"39\", \"Name\":\"Test org\", \"ShortName\":\"Test\" } } } }";

        JsonObject root = new JsonParser().parse(json).getAsJsonObject();
        JsonObject lightObjectSet = root.get("LightObjectSet").getAsJsonObject();
        JsonObject objects = lightObjectSet.get("Objects").getAsJsonObject();
        JsonElement org = objects.get("Org");

        Gson g = new Gson();

        Org o = g.fromJson(org, Org.class);
        System.out.print(o);

    }

}
可能重复的