2014-03-25 62 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();