我們都知道 JSON 和 XML 設計的初衷里都包含一點是對人類友好, 所以兩者在這方面屬於競爭關系. 而在 UI 描述上, 我覺得 XML 是比 JSON 要優異很多. 我們先來看一組簡單的數據排版:
倘若由 JSON 描述, 將會變成:
<ui:group layout="vertial"> <ui:block width="200" layout="horizontal"> <ui:input value="Search"></ui:input> <ui:button>Search</ui:button> </ui:block> <ui:block width="400"></ui:block> </ui:group>
- ui:group和ui:block是元素(節點)
- width 和 layout 叫做元素的屬性
- ui:block元素是ui:group元素的子元素
倘若由 JSON 描述, 將會變成:
可以看出來, XML 的數據會比 JSON 更符合人類對 UI 布局的描述, JSON 在這個場景中會更加偏向對機器友好.
{ "type": "ui:group", "layout": "vertical", "children": [ { "type": "ui:block", "width": 200, "layout": "horizontal", "children": [ { "type": "ui:input", "value": "search" }, { "type": "ui:button", "label": "Search" }, ] }, { "type": "ui:block", "width": 400, }, ], }