2017-04-18 149 views
0

映射我有一个问题想分析JSON文件JSON对象
我的JSON文件的形式下:
GSON解析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 ! 
    } 
} 
] 
} 

我的问题是,对象“属性”有一个参数数目未知的,所以我不能为它创建一个类,我想过使用

map<String,String> attributes; 

,但我不知道如何从文件中解析它特别,我想让我的班级“ObjectJSON”女巫代表th我的文件的根目录。
我使用谷歌的gson
在此先感谢。

+0

不能使用的HashMap <字符串,对象>? – Poppy

+0

查看:'Google Gson','org.json'库,Jackson库,JSR-374 Json API。每一个你可以自由使用的(也许除了org.json之外,因为它比较陈旧而且很硬,虽然比较起来也很轻巧)。 –

+0

如果您没有重复的“属性”:“值”条目,则会更清楚。它看起来像这个结构对应于一个具有类型为List >的称为“objectJSON”的单个成员变量的类。或者,如果“属性”条目实际上具有特定的已知名称/键,则可以创建第二个类来表示列表中的条目 - 因此,您可以使用类型为List 的名为“objectJSON”的单个成员变量创建类,其中,OtherClass定义了“属性”成员并具有一个名为Map 类型的“属性”的成员 – CAW

回答

0

使用org.json库:

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