【问题标题】:JSON to describe HTML tagsJSON 来描述 HTML 标签
【发布时间】:2011-04-13 02:18:26
【问题描述】:

我需要以用户友好的格式表达 HTML 标记,然后将它们呈现为网页上的实际 HTML。

例如,假设用户希望此链接显示在页面上:

<a href="http://stackoverflow.com">Stack Overflow</a>

我的普通用户不熟悉 HTML,所以我正在考虑让他/她改用 JSON。像这样的:

{Link:{Title:"Stack Overflow",URL:"http://stackoverflow.com"}}

然后我会使用 JSON 解析器在页面上呈现实际的 HTML。同样的方法也适用于其他 HTML 标记(图像、按钮等)。

这已经完成了吗?是否有关于如何在 JSON 中表达 HTML 标签的约定?

谢谢!

【问题讨论】:

  • 什么样的用户知道JSON但不知道HTML?如何在链接中添加粗体文本?
  • 同意,可能不是最好的主意。尤其是因为 JSON 在语法上可能会因大型嵌套结构等而变得复杂。
  • 为什么不使用一些已经存在的轻量级标记语言,如 Markdown、bbcode 或 txt2tags?
  • @SLaks:同意,但我的观点是 JSON 会更人性化,更容易学习。 @ZeSimon:我的目标不是构建一个完整的页面,只是为了允许用户插入常见的元素,如链接、图像和按钮。 @zerocrates:好吧,也许这正是我想要的,只是我以前从未听说过这些。您介意发布更多详细信息的答案吗?用户友好是我的主要要求。

标签: html json parsing


【解决方案1】:

ExtJS's DOMHelper class 提供如下语法:

{
    id: 'my-ul',
    tag: 'ul',
    cls: 'my-list',
    children: [
        {tag: 'li', id: 'item0', html: 'List Item 0'},
        {tag: 'li', id: 'item1', html: 'List Item 1'},
        {tag: 'li', id: 'item2', html: 'List Item 2'}
    ]
}

【讨论】:

    【解决方案2】:

    因此,似乎有一类称为“轻量级标记语言”的语言可以做到这一点。感谢@zerocrates 的指点。我在这里找到了更多细节(包括每种实现语言或平台): http://en.wikipedia.org/wiki/Lightweight_markup_language

    另外,很高兴知道 ExtJS 有这样的语法(感谢 @Pumbb80)。它只是在我的情况下不起作用,因为我的目标是最终用户。

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 2022-11-02
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多