【问题标题】:convert String into List/Map using Dart使用 Dart 将 String 转换为 List/Map
【发布时间】:2020-04-08 02:23:52
【问题描述】:

我正在尝试将 outerHTML 转换为 JSON 如何转换此字符串

<tr>
                     <td>00001</td>
                     <td>ADVANCE DATABASE MANAGEMENT SYSTEM [A]</td>
                     <td>Open</td>
                     <td>40</td>
                     <td>37</td>

                     <td><table class="table table-condensed table-bordered"><tbody><tr><td>Theory </td> <td>Sunday </td> <td>8:00 AM </td> <td>10:00 AM </td> <td>1113 </td></tr><tr><td>Lab </td> <td>Tuesday </td> <td>8:00 AM </td> <td>11:00 AM </td> <td>D0202 </td></tr></tbody></table></td>
                 </tr> 

使用 Dart/Flutter 像这样进入 List 或 Map

{
    "class id": "00001",
    "title": "ADVANCE DATABASE MANAGEMENT SYSTEM [A]",
    "status": "Open",
    "capcity": "40",
    "count": "37",
    "time": {
        "Theory": {
            "day": "Sunday",
            "start": "8:00 AM",
            "end": "10:00 AM",
            "location": "1113"
        },
        "Lab": {
            "day": "Tuesday",
            "start": "8:00 AM",
            "end": "11:00 AM",
            "location": "D0202"
        }
    }
},

【问题讨论】:

    标签: flutter dart dart-html


    【解决方案1】:
    import 'package:html/parser.dart' show parse;
    
    
    main() {
      var convertedList={};
      var document = parse(
          """<table><tr>
                         <td>00001</td>
                         <td>ADVANCE DATABASE MANAGEMENT SYSTEM [A]</td>
                         <td>Open</td>
                         <td>40</td>
                         <td>37</td>
    
                         <td><table class="table table-condensed table-bordered"><tbody><tr><td>Theory </td> <td>Sunday </td> <td>8:00 AM </td> <td>10:00 AM </td> <td>1113 </td></tr><tr><td>Lab </td> <td>Tuesday </td> <td>8:00 AM </td> <td>11:00 AM </td> <td>D0202 </td></tr></tbody></table></td>
                     </tr> </table>""");
     var cells=document.getElementsByTagName('table')[0].getElementsByTagName('td');                
     var theoryCells=document.getElementsByTagName('table')[1].getElementsByTagName('tr')[0].getElementsByTagName('td');
     var labCells=document.getElementsByTagName('table')[1].getElementsByTagName('tr')[1].getElementsByTagName('td');
    
      convertedList['classId']=cells[0].innerHtml;
      convertedList['title']=cells[1].innerHtml;
       convertedList['status']=cells[2].innerHtml;
      convertedList['capcity']=cells[3].innerHtml;
      convertedList['count']=cells[4].innerHtml;
    
      convertedList['time']={
        'theory':{
           "day":  theoryCells[1].innerHtml,
            "start":  theoryCells[2].innerHtml,
            "end":  theoryCells[3].innerHtml,
            "location": theoryCells[4].innerHtml
        },
        'lab':{
           "day":  labCells[1].innerHtml,
            "start":  labCells[2].innerHtml,
            "end":  labCells[3].innerHtml,
            "location": labCells[4].innerHtml
        }
    
      };
    
    
      print(convertedList);
    
    
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 2015-11-21
      • 2021-02-28
      • 1970-01-01
      • 2021-12-21
      • 2016-07-21
      相关资源
      最近更新 更多