2016-11-30 53 views
-1

我必須做出一個JSON格式的文件,它必須看起來像以下:添加數組JSON文件,沒有鑰匙

xyz.json

[ 
    { 
     "imagelist": "/oracle/public/oel6", 
     "label": "test_higgs", 
     "shape": "small", 
     "name" : "/Compute-computecli1/computeadmin/", 
     "networking" : { 
      "eth0" : { 
        "ipnetwork" : "/Compute-computecli1/computeadmin/ipnet" 
      } 
     } 
    } 
] 

數組應在JSON文件中添加沒有{},這些花括號必須進入JSON數組中。

代碼爲

{ 
instances:[ 
     { 
      "imagelist": "/oracle/public/oel6", 
      "label": "test_higgs", 
      "shape": "small", 
      "name" : "/Compute-computecli1/computeadmin/", 
      "networking" : { 
       "eth0" : { 
         "ipnetwork" : "/Compute-computecli1/computeadmin/ipnet" 
       } 
      } 
     } 
    ] 
} 

是:

該代碼添加JSON數組作爲值「實例」鍵,但我想補充JSON數組沒有JSON關鍵。

JsonObject ipnetwork = new JsonObject(); 
ipnetwork.addProperty("ipnetwork", ipNetworkName); 

JsonObject interface_type = new JsonObject(); 
interface_type.add("eth0", ipnetwork); 

JsonObject instance = new JsonObject(); 
instance.addProperty(imageListCmdText, "/oracle/public/oel6"); 
instance.addProperty("label","test_higgs"); 
instance.addProperty("shape","small"); 
instance.addProperty("name","/"+customerName); 
instance.add("networking",interface_type); 

JsonArray instances = new JsonArray(); 
instances.add(instance); 

JsonObject launch_plan = new JsonObject(); 
launch_plan.add("instances", instances); 

請告訴我們如何改變這段代碼以獲得上面提到的輸出。

+0

是嗎?到目前爲止,你嘗試過什麼?你的代碼在哪裏?你有什麼問題? – UnholySheep

+0

{ 實例:[ { 「圖像列表」: 「/ ORACLE /公共/ oel6」, 「標籤」: 「test_higgs」, 「形狀」: 「小」, 「名稱」:「/計算-computecli1/computeadmin /」, 「網絡」:{ 「eth0的」:{ 「ipnetwork」: 「/計算-computecli1/computeadmin/IPNET」 } } } ] } –

+0

我試圖代碼此!!但我沒有得到如何獲得問題中提到的上述代碼 –

回答

1
JsonObject launch_plan = new JsonObject(); 
launch_plan.add("instances", instances); 

這兩行創建帶花括號的JSON對象。你不需要它們,你可以刪除它們並使用instances,它沒有花括號,因爲它是一個json 數組而不是json對象。

JsonObject ipnetwork = new JsonObject(); 
ipnetwork.addProperty("ipnetwork", ipNetworkName); 

JsonObject interface_type = new JsonObject(); 
interface_type.add("eth0", ipnetwork); 

JsonObject instance = new JsonObject(); 
instance.addProperty(imageListCmdText, "/oracle/public/oel6"); 
instance.addProperty("label","test_higgs"); 
instance.addProperty("shape","small"); 
instance.addProperty("name","/"+customerName); 
instance.add("networking",interface_type); 

JsonArray instances = new JsonArray(); 
instances.add(instance); 

// not needed 
//JsonObject launch_plan = new JsonObject(); 
//launch_plan.add("instances", instances); 
+0

可以請你分享整個編輯的代碼 –

+0

OP可能(或不可能)也必須修改用於將創建的JSON數組寫入文件的代碼(取決於它現在如何實現,它沒有顯示在提供的代碼中) – UnholySheep

+0

@YashaJadwani我包括它。 – BackSlash