2014-03-25 29 views
-1

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

{ 
"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"} 
    ] 
    } 
] 
} 
+0

见http://stackoverflow.com/questions/18983185/how-to-create-correct-jsonarray-in-java-获得实例使用-jsonobject – stepanian

+0

这是不是很清楚你的问题是什么。请将您的代码作为一个[最小示例](http://stackoverflow.com/help/mcve)来演示您的问题。 –

+0

@Duncan:我想他想用Java代码创建JSON结构。 – stepanian

回答

0

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

0

使用JSONObject

例如:

的myString =新的JSONObject()把( “JSON”, “你好,世界!”)的toString();

产生字符串{“JSON”:“Hello,World”}。

+0

谢谢我遵循相同的过程 –

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();