2012-09-04 71 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