Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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 如何使用嵌套数组将JSON解析为对象_Java_Json_Parsing - Fatal编程技术网

Java 如何使用嵌套数组将JSON解析为对象

Java 如何使用嵌套数组将JSON解析为对象,java,json,parsing,Java,Json,Parsing,我在看一些例子,但我找不到任何解决我问题的方法。我想问题很小,但我不知道我做错了什么。我有这么简单的JSON: { "value" : 120, "objects" : [ { "object_id" : 1, "description" : "First object", "flag" : false }, { "object_id" : 2, "description" : "Second object

我在看一些例子,但我找不到任何解决我问题的方法。我想问题很小,但我不知道我做错了什么。我有这么简单的JSON:

{
  "value" : 120,
  "objects" : [
    {
      "object_id" : 1,
      "description" : "First object",
      "flag" : false
    },
    {
     "object_id" : 2,
      "description" : "Second object",
      "flag" : true
    }
  ]
}
我为它创建了一个模型:

一般答复:

public class GeneralResponse {

    public int value;
    public List<NestedObject> objects;

}
我试着这样解析它:

GeneralResponse response = new Gson().fromJson(myJSONstring, GeneralResponse.class);
我得到一个错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 6 path $.objects[0]

问题代码中有一个错误,在作者之后:

NesteObject是带有字段的枚举,这会导致错误


问题代码中有一个错误,在作者之后:

NesteObject是带有字段的枚举,这会导致错误


您使用的是哪个版本的GSON?我用2.4进行了测试,结果与预期的一样。嗨,Fisher@F1sher,我不确定这会对你有帮助,为什么我们需要重新编写JSON解析?为什么我们不能使用任何导入json模块,也不能使用它呢。这条线索可能会帮助你:我向所有人道歉。我没有注意到我的NestedObject是一个带有字段的枚举,这会导致错误。感谢您调查我的问题…@F1sher请添加此信息作为此问题的答案您使用的是哪个版本的GSON?我用2.4进行了测试,结果与预期的一样。嗨,Fisher@F1sher,我不确定这会对你有帮助,为什么我们需要重新编写JSON解析?为什么我们不能使用任何导入json模块,也不能使用它呢。这条线索可能会帮助你:我向所有人道歉。我没有注意到我的NestedObject是一个带有字段的枚举,这会导致错误。谢谢你调查我的事情…@F1sher请添加此信息作为此问题的答案
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 6 path $.objects[0]