2012-09-04 42 views
1

考慮這個JSON對象,其可以在HTML被用作選擇數據用於選擇元件:JSON:內另一個JSON對象重用JSON對象

{"dropdown_options" : [ 
      {"id" : "received", "title" : "Received", "value" : "received"}, 
      {"id" : "approved", "title" : "Approved", "value" : "approved"}, 
      {"id" : "rejected", "title" : "Rejected", "value" : "rejected"} 
]} 

如何重新使用上述JSON對象定義另一個JSON目的?
像這樣:

{"select" : {"id" : "message_carriers", "options" : "dropdown_options"}} 

編輯:上面的代碼樣品是上傳.json文件的一部分。

+3

你有什麼不是JSON對象,它是通過對象字面值語法定義的對象; http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ – Matt

+0

JSON不支持引用,請嘗試使用YAML或XML – Esailija

+0

我明白了。感謝您的鏈接,馬特。 – Vineeth

回答

1

您的意思是

var jsonobj={"dropdown_options" : [{"id" : "received", "title" : "Received", "value" : "received"}, {"id" : "approved", "title" : "Approved", "value" : "approved"}, {"id" : "received", "title" : "Received", "value" : "received"}]}; 
var selectobj={"select" : {"id" : "message_carriers", "options" : jsonobj}} 

記住,在第二行中的變量名,則 - 所以沒有報價。

編輯

從評論我走,那JSON對象從文件創建。因此,假設第一個對象是在jsonobj和第二(不帶「選項」)中selectobj,你只需要

selectobj.options=jsonobj; 

selectobj.options=jsonobj.dropdown_options; 

將它們連接在一起,而無需對於主要定義中的變量。

+0

有道理。我會試一試 – Vineeth

+1

你可能還想看看var selectobj = {「select」:{「id」:「message_carriers」,「options」:jsonobj.dropdown_options}}'以避免不必要的深度。 –

+0

我忘了提及問題中的上述代碼示例是在.json文件中。所以不能使用變量,就像你在回答中提到的那樣 – Vineeth