Java gson解析JSON对象以从复杂JSON文件映射

Java gson解析JSON对象以从复杂JSON文件映射,java,json,gson,Java,Json,Gson,我在尝试将json文件解析为json对象时遇到问题 我的JSON文件的格式为: { "objectJSON": [ { "attribute":"value", "attribute":"value", "attribute":"value", "attributes" :{ "att1": "val1", "att2":"val2", "att3":"val3", // more atts and vals may figure here !

我在尝试将json文件解析为json对象时遇到问题
我的JSON文件的格式为:

  {  "objectJSON": [
{
 "attribute":"value",
  "attribute":"value",
  "attribute":"value",
  "attributes" :{
    "att1": "val1",
    "att2":"val2",
    "att3":"val3",
// more atts and vals may figure here ! 
  }
},
{
"attribute":"value",
  "attribute":"value",
  "attribute":"value",
  "attributes" :{
    "att1": "val1",
    "att2":"val2",
    "att3":"val3",
// more atts and vals may figure here ! 
  }
}
]
}
我的问题是对象“attributes”的参数数量未知,因此我无法为其创建类,我考虑使用

map<String,String> attributes;
map属性;
但是我不知道如何从文件中解析它,特别是我想保留代表我文件根的类“ObjectJSON”。
我正在使用谷歌的gson

提前感谢。

使用org.json库:

JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");

你不能使用HashMap吗?检查:
Google Gson
org.json
库,Jackson库,JSR-374 json API。你可以自由使用其中的每一项(可能除了org.json one之外,因为它很旧,而且很硬,尽管相比之下它也很轻)。如果你没有重复的“属性”:“值”条目,它会更清晰。看起来这个结构对应于一个类,它有一个名为“objectJSON”的List类型的单成员变量。或者,如果“attribute”条目实际上具有特定的已知名称/键,那么您可以创建第二个类来表示列表的条目——这样您就可以有一个类,其中包含一个名为“objectJSON”的单成员变量,类型为list,其中OtherClass定义“attribute”成员,并有一个名为“attributes”的成员类型为Map