• 前端 DOM 解析json格式数据


    我的json文件放在github的仓库里。

    json文件

    {
      "major":
      [
       {
        "name":"纪伯伦全集 ",
        "author":"  [黎巴嫩] 纪伯伦 ",
        "intro":"这套全集收入了纪伯伦的全部小说、诗歌、散文和绘画作品。 纪伯伦·哈利勒·纪伯伦是阿拉伯著名的作家、诗人、艺术家。 纪伯伦创作的全部作品,充满了对祖国、对人民和对未来的爱,以画笔和文笔为武器同旧世界进行了顽强的斗争,保护了受压迫最深的阿拉伯妇女,捍卫了她们的自由恋爱的权利。",
        "price":"$100"
       },
       {
        "name":"唐诗宋词",
        "author":"宋涛",
        "intro":"唐诗宋词是中国文学史上的两颗明珠,唐代被称为诗的时代,宋代被称为词的时代。在中华文明灿烂的长卷中,唐诗宋词是其中最为绚丽的华章。词源于民间,始于唐,兴于五代,盛于两宋。",
        "price":"$150"
       },
       {
        "name":"嫌疑人X的献身",
        "author":"东野圭吾",
        "intro":"百年一遇的数学天才石神,每天唯一的乐趣,便是去固定的便当店买午餐,只为看一眼在便当店做事的邻居靖子。靖子与女儿相依为命,失手杀了前来纠缠的前夫。石神提出由他料理善后。石神设了一个匪夷所思的局,令警方始终只能在外围敲敲打打,根本无法与案子沾边。石神究竟使用了什么手法?",
        "price":"$73"
       }
      ],
      "hot":
      [
       {
        "name":"嫌疑人X的献身",
        "author":"东野圭吾",
        "intro":"百年一遇的数学天才石神,每天唯一的乐趣,便是去固定的便当店买午餐,只为看一眼在便当店做事的邻居靖子。靖子与女儿相依为命,失手杀了前来纠缠的前夫。石神提出由他料理善后。石神设了一个匪夷所思的局,令警方始终只能在外围敲敲打打,根本无法与案子沾边。石神究竟使用了什么手法?",
        "price":"$73",
        "number":"10815014"
       },
       {
        "name":"恶意",
        "author":"东野圭吾",
        "intro":"《恶意》是日本作家东野圭吾挑战悬疑小说写作极限的佳作,是以加贺恭一郎为主人公的系列作品的第四部,该系列的上一部作品是《谁杀了她》,该系列的下一部作品是《我杀了他》。",
        "price":"$53",
        "number":"5156552"
       },
       {
        "name":"我不",
        "author":"大冰",
        "intro":"《我不》——百万级畅销书作家大冰2017年新书。这本书是一本在北冰洋开笔的故事集,故事中的人物全都是真实存在的,他们因为各种交集而和大冰遇见,相识于微,因为故事成为了没有血缘关系的家人,相识之地,成为了不是家乡的故乡。他们的故事不虚构,不矫情,不鸡汤,只是把多年积淀的故事娓娓道来。",
        "price":"$123",
        "number":"87185425"
       }
      ],
      "new":
      [
       {
        "name":"好好说话. 2简单有效的高情商沟通术",
           "author":"马薇薇、黄执中、周玄毅、邱晨、胡渐彪",
           "price":"$50",
           "time":"2018-10-01"
        },
        {
        "name":"人生难得是心安",
           "author":"呂克·费希",
           "price":"$50",
           "time":"2016-03-01"
        },
        {
        "name":"实用折纸大全",
           "author":"犀文图书",
           "price":"$60",
           "time":"2014-04-01"
        },
        {
        "name":"绿山墙的安妮",
           "author":"露西·莫德·蒙格马利",
           "price":"$160",
           "time":"2011-5-1"
        },
        {
        "name":"活着",
           "author":"余华",
           "price":"$40",
           "time":"1993-03-01"
        },
        {
        "name":"幼儿故事绘本",
           "author":"犀文图书",
           "price":"$130",
           "time":"2018-04-06"
        }
      ],
    "discount":
    [
     {
      "name":"新华字典",
      "author":"",
      "Oprice":"100",
      "price":"79"
     },
      {
      "name":"湘军史",
      "author":"",
      "Oprice":"99",
      "price":"49"
     },
      {
      "name":"",
      "author":"",
      "Oprice":"",
      "price":""
     }
    ]
    }
     
    -------------------------------------------------------------------------------------------------------------------------
    html文件
    <!DOCTYPE html>
    <html>
    <head>
     <title></title>
     <link rel="stylesheet" type="text/css" href="../css/1.css">
     <meta charset="utf-8">
    </head>
    <body>
     <table>
      <tr>
       <td>
        
        <a href="">
         <img src="../scr/book1.jpg">
    //创建需要插入json数据的列表
            <ul>
             <li id="b1_l1">
             </li>
             <li id="b1_l2">
             </li>
             <li id="b1_l3"></li>
            </ul>
        
           </a>
       </td>
       <td>
        
        <a href="">
        <img src="../scr/book2.jpg">
          <ul>
             <li id="b2_l1">
             </li>
             <li id="b2_l2">
             </li>
             <li id="b2_l3"></li>
            </ul>
        
           </a> 
       </td>
       <td>
        
        <a href="">
      <img src="../scr/book3.jpg">
          <ul>
             <li id="b3_l1">
             </li>
             <li id="b3_l2">
             </li>
             <li id="b3_l3"></li>
            </ul>
        
           </a>
       </td>
      </tr>
      
     </table>
    <script>
    //发送请求json文件
     var requestURL = 'https://iilleagl.github.io/ccc/book.json';        //json存放的url
     var request = new XMLHttpRequest();                                    
        request.open('GET', requestURL);
        request.responseType = 'json';
        request.send();
     
     request.onload = function() {
        var bookinfo = request.response;
        var book1_info = bookinfo['major'];
    //将图书1的信息插入导入图书1的列表中
        var name_0 = document.getElementById('b1_l1');
      var author_0 = document.getElementById("b1_l2");
      var info_0 = document.getElementById("b1_l3");
      name_0.textContent = '书名:'+ bookinfo['major'][0].name;
      author_0.textContent='作者:'+bookinfo['major'][0].author;
      info_0.textContent=bookinfo['major'][0].intro;
     
     var name_1 = document.getElementById('b2_l1');
     var author_1 = document.getElementById("b2_l2");
     var info_1 = document.getElementById("b2_l3");
     name_1.textContent = '书名:'+ bookinfo['major'][1].name;
     author_1.textContent='作者:'+bookinfo['major'][1].author;
     info_1.textContent=bookinfo['major'][1].intro;
     var name_2 = document.getElementById('b3_l1');
     var author_2 = document.getElementById("b3_l2");
     var info_2 = document.getElementById("b3_l3");
     name_2.textContent = '书名:'+ bookinfo['major'][2].name;
     author_2.textContent='作者:'+bookinfo['major'][2].author;
     info_2.textContent=bookinfo['major'][2].intro;
    }
     
    </script>
    </body>
    </html>
  • 相关阅读:
    angular 组件间数据共享
    Linux 常用命令
    angular 子路由跳转出现Navigation triggered outside Angular zone, did you forget to call ‘ngZone.run() 的问题修复
    angular :ngIf 的else用法
    利用 filter 来去重
    webpack打包时删除console.log,和debugger
    git忽略而不提交文件的3种情形
    jenkins 构建日程表配置
    vue之多页面的开发
    vue-cli3使用jq
  • 原文地址:https://www.cnblogs.com/iillegal/p/10052380.html
Copyright © 2020-2023  润新知