使用java获取复杂的JSON结构

时间:2014-03-25 08:57:25

标签: java json

我已经粘贴了一个示例JSON结构,我试图使用java程序实现,最后输出应该在JSONObject中。我尝试使用地图,但如果我没有出错,它会变得非常复杂。

{
"name": "flare",
"children": [
    {
    "name": "analytics",
    "children": [
        {
        "name": "cluster",
        "children": [
            {"name": "AgglomerativeCluster"},
            {"name": "CommunityStructure"},
            {"name": "HierarchicalCluster"},
            {"name": "MergeEdge"}
        ]
        }]
    },
    {
    "name": "graph",
    "children": [
        {"name": "BetweennessCentrality"},
        {"name": "LinkDistance"},
        {"name": "MaxFlowMinCut"},
        {"name": "ShortestPaths"},
        {"name": "SpanningTree"}
    ]
    }
]
}

3 个答案:

答案 0 :(得分:0)

您可以尝试通过谷歌使用GSON库。您可以创建Java对象,GSON会自动将它们转换为JSON。看看:https://code.google.com/p/google-gson/ 直接使用JSONObject的缺点是在你的情况下会变得非常复杂。随着您希望放入JSON的数据增长,这将变得非常困难。

答案 1 :(得分:0)

使用JSONObject

例如:

  

myString = new JSONObject()。put(" JSON"," Hello,World!")。toString();

生成字符串{" JSON":" Hello,World"}。

答案 2 :(得分:0)

使用GSON库很容易。创建具有同一类数组的属性的Person类。

class Person {
    private String name;
    private Person[] children;

    //getters

    //setters
}

然后,用它来从json获取实例

// Create person
Person person = new Gson().fromJson(jsonString, Person.class);
// Get children
Person[] childrens = person.getChildren();