2011-06-15 38 views
5

Yaml içinde bir hiyerarşi temsil etmek istiyorum ve nasıl emin değilim. Örneğin, ben söylemek istiyorum böyle bir şey:Yaml hiyerarşik verileri

name: "user1" 
programming-skill: 3 
    java: 2 
    python: 2 
cooking-skill: 4 

Bir yaml ayrıştırıcı bu attığımda, çünkü ben çizgi java: 2 üzerine "haritalama değerler burada izin verilmiyor" çizgisinde bir hata alıyorum programming-skill öğesinin her ikisini de 3 ve liste 'a atamaya çalışıyorum.

Bu hiyerarşik yapının temsil edilmesinin en temiz yolu yaml? Alternatif olarak, hiyerarşik yapılara yaml'dan daha uygun bir serileştirme formatı var mıdır? o temiz YAML bunu yapmak mümkün değildir gibi

cevap

4
name: "user1" 
programming-skill: 
    - 3 
    - java: 2 
    python: 2 
cooking-skill: 4 

ya da isterseniz:

name: "user1" 
programming-skill: 
    - 3 
    - 
    java: 2 
    python: 2 
cooking-skill: 4 
4
name: "user1" 
programming-skill: 
     others: 
      java: 2 
      python: 2 
     value: 3 
cooking-skill: 4 

Test it here

0

görünüyor. Andrey'nin önerdiği gibi, yeni verileri (diğerleri/değer) tanıtmalı ve etrafınızda çalışmalısınız. Bu veri formu için daha uygun bir format olup olmadığından ya da yalnızca mermiyi ısırmak ve ekstra bir hiyerarşi seviyesi sunmak zorunda olduğunuzdan emin değilim.