Re[3]: Самый удобный человеко-читаемый язык данных
От: so5team https://stiffstream.com
Дата: 19.12.24 06:03
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну и там и там же иерархия и уровни вложенности:


S>
S><node name="Root">
S>  <node name="Child1">
S>    <node name="Grandchild1" value="Grandchild1Value" />
S>    <node name="Grandchild2" value="Grandchild2Value" />
S>  </node>
S>  <node name="Child2">
S>    <node name="Grandchild3" value="Grandchild3Value" />
S>  </node>
S></node>
S>


S>
S>{
S>   "Root":[
S>      { "Child1":[
S>            {"Grandchild1": "Grandchild1Value"},
S>            {"Grandchild2": "Grandchild2Value" }
S>         ]},
S>      { Child2":[{"Grandchild3": "Grandchild3Value" }]}
S>   ]
S>}
S>


S>- что вам удобнее?


Что-то типа:

{node {name "Root"}
  {node {name "Child1"}
    {node {name "GrandChild1"} "GrandChild1Value"}
    {node {name "GrandChild2"} "GrandChild2Value"}
  }
  {node {name "Child2"}
    {node {name "GrandChild3"} "GrandChild3Value"}
  }
}

Фигурные скобки можно заменить на круглые (чтобы получились привычные некоторым s-expressions), но смысла это не изменит.

Из собственного опыта -- когда в разметке можно добавлять новые теги/атрибуты для "узла", то это очень удобно.
Например, было
{node {name "GrandChild1"} "GrandChildValue"}}
со временем стало
{node {name "GrandChild1" {alias "Bob Jr"}} "GrandChildValue" {mandatory}}
Причем такая теговая/атрибутная система позволяет поддерживать обратную совместимость с уже имеющимися данными.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.