2013-05-02 215 views
14

如何在YAML中创建嵌套列表?我想:yaml中的嵌套列表

{"Hello": ["as", ["http://", ["cat"]]]} 

这里是我的YAML不(与pyYaml)工作:

Hello: 
    - "as" 
     - "http://" 
     - cat 

我在做什么错?

** * ** * ** *更新:* ** * ** * ****

具体来说,我试图从YAML生成以下JSON:

"URL" : { 
    "Description" : "URL of the website", 
    "Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]} 
} 

这是我工作的最近的YAML,但它并没有给我所需要的东西。

YAML是:

Outputs: 
    URL: 
     Description: URL of the website 
     Value: 
     "Fn::Join": 
     - "" 
     - "http://" 
     - "Fn::GetAtt": 
      - ElasticLoadBalancer 
      - DNSName 

这导致:

"URL": { 
     "Description": "URL of the website", 
     "Value": { 
      "Fn::Join": [ 
       "", 
       "http://", 
       { 
        "Fn::GetAtt": [ 
         "ElasticLoadBalancer", 
         "DNSName" 
        ] 
       } 
      ] 
     } 
    } 

这几乎是正确的,但经过 “” 应该有一个嵌套表,不只是一个列表项。我怎样才能解决这个问题?

(PS这将被送入一个API,以便输出必须完全匹配)

回答

3

尝试:

Hello: 
    ["as", 
    ["http://", 
     [cat] 
    ] 
] 

JSON输出:

{ 
    "Hello": [ 
    "as", 
    [ 
     "http://", 
     [ 
     "cat" 
     ] 
    ] 
    ] 
} 
+0

嗨,不幸的是,这是插入花括号 - 我不能有花括号。输出必须特别是我在我的问题中得到的。 – user1491250 2013-05-02 09:03:36

+0

固定,请参阅编辑版本:) – Yohann 2013-05-02 09:11:57

+0

我不能那样。这是一个深嵌套的复杂结构:-( – user1491250 2013-05-02 09:15:42

12

答案是:

URL: 
    Description: URL of the website 
    Value: 
    "Fn::Join": 
     - "" 
     - - "http://" 
     - "Fn::GetAtt": 
      - ElasticLoadBalancer 
      - DNSName 

(参见“块序列可以嵌套”)