如何通过jQuery构建JSON并构建HTML

初学者在这里试图找出构造一些JSON的最佳方法并输出以下嵌套的

    下面的每个粗体项都是JSON中的值。 我如何构建JSON,然后如何使用jQuery构建DOM结构? 任何帮助非常感谢。

     
    • https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Topic 1
        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item1a "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item1a "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Lorem https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 1a https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Ipsum <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item1b "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item1b "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Dolor https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 1b https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Sit
    • https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Topic 2
        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item2a "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item2a "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Lorem https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 2a https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Ipsum <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item2b "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item2b "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Dolor https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 2b https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Sit

    • https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Topic 1
        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item1a "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item1a "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Lorem https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 1a https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Ipsum

        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item1b "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item1b "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Dolor https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 1b https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Sit

    • https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Topic 2
        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item2a "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item2a "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Lorem https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 2a https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Ipsum

        <li id=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/foo_item2b "> <a href=" https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/destination_Item2b "> https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/ https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Dolor https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Item 2b https://stackoverflow.com/questions/3375035/how-to-structure-json-and-build-html-via-jquery/Sit

    我最近成为了mustache.js的忠实粉丝。

    http://github.com/janl/mustache.js/

    编辑:

    如果我稍微调整calvinf的JSON格式,那么这是使用mustache.js的一个例子:

             

    如果你想要一个JavaScript模板库的速度基准测试,我发现这个链接很有用:

    http://www.viget.com/extend/benchmarking-javascript-templating-libraries/

    您可以使用类似DOM的方法来设置属性和文本内容,以避免使用简单的html()设置和模板系统中更天真的HTML转义问题。 例如,使用jQuery 1.4和jSON输入沿着calvinf的例子:

     var ul0= $(' 

    第一个建议是看看JSON网站 。 它有一些JavaScript中的JSON代码示例。

    如果你用JSON构建整个东西,我会这样做。

     var topics = { topic1: { title : "Topic 1", items : [ {title: "1a", link: "http://www.example.com/", text: "Link Text or HTML"}, {title: "1b", link: "http://www.example.com/", text: "Link Text or HTML"} ] }, topic2: { title : "Topic 2", items : [ {title: "2a", link: "http://www.example.com/", text: "Link Text or HTML"}, {title: "2b", link: "http://www.example.com/", text: "Link Text or HTML"} ] } }; 

    如果您只需要信息的一部分,您可以采用不同的方式,但这应该为您提供一些东西。

    要使用这些值更新DOM,可以从JSON对象循环访问相应的数组,然后填充值。 使用jQuery .html(htmlString)函数 。

    我希望这可以帮助你开始。

    对于这种事情我会推荐优秀的underscore.js的template函数。