【问题标题】:jQuery to read .txt file but grab specific datajQuery 读取 .txt 文件但获取特定数据
【发布时间】:2019-02-10 08:35:22
【问题描述】:

我正在尝试从 .txt 文件中获取和读取数据,然后在 HTML 中显示数据。

我目前正在使用以下代码来打印 .txt 文件的每一行:

$.get('assets/test.txt', function(data) {
    var lines = data.split("\n");
    $.each(lines, function(n, elem) {
        $('#container').append('<div>' + elem + '</div>');
    });
});

这显然会打印出 .txt 文件的每一行。而我只想从 .txt 文件中获取特定数据。例如,这就是 .txt 文件的样子。

{
"header": "This is me doing a test",
    "menu": [{
        "title":"Home","url":"index.html"
        }, {
            "title":"Page 1",
            "url":"page2.html"
        },{
            "title":"Page 2",
            "url":"page2.html",
            "submenu": [{
                "title":"SubPage 1",
                "url":"subpage1.html"
            },{
                "title":"SubPage 2",
                "url":"subpage2.html"
            }]
        },{
            "title":"Contact",
            "url":"contact.html"
        }
    ],
    "title": "Welcome to our homepage",
    "body": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque pharetra sit amet ante at commodo. Sed tincidunt rhoncus fermentum. Donec fermentum volutpat est, a interdum odio scelerisque non. Nullam facilisis magna ac ipsum sollicitudin accumsan. Sed id dui adipiscing, condimentum magna non, molestie ipsum. Donec varius massa eget justo vulputate rhoncus. Integer laoreet turpis id magna rutrum sodales. Nullam eu mauris hendrerit, vulputate nisi ut, condimentum metus. Donec eros ligula, facilisis ac mi a, accumsan vestibulum tortor. Morbi tellus felis, tempor non mi ac, viverra porta lorem. Phasellus dignissim, mauris id vulputate malesuada, tortor metus placerat justo, bibendum vehicula velit magna in leo. Sed condimentum tortor ac ipsum ultricies, quis tristique massa malesuada. Vivamus vitae congue felis. Etiam dictum aliquet felis. Sed euismod in sem eu semper. Nam pulvinar nisl nisi, venenatis bibendum leo lobortis vel.<\/p><p>Nulla pharetra odio non leo sollicitudin, vel semper lorem sagittis. Pellentesque viverra pulvinar elementum. Donec pulvinar consequat augue. Aenean vitae libero sit amet quam faucibus pulvinar ac sit amet nibh. Fusce venenatis magna nulla. Curabitur dignissim justo eu purus pharetra suscipit. Donec tempus eros eget cursus vestibulum.<\/p>",
    "footer": "Copyright &copy; 2019"
}

我怎样才能只抓取"header": 之后的文本This is me doing a test 并使用我的HTML 标记将其附加到我的h1

下面是我的 HTML:

<h1></h1>

  <ul id="menu">
    <li></li>
    <li>
      <ul>
        <li></li>
        <li></li>
      </ul>
    </li>
    <li></li>
  </ul>

  <h2></h2>
  <p></p>

  <div id="footer">
    <p></p>
  </div>

我知道我可以手动输入所有数据,但我需要通过 .txt 文件导入。

【问题讨论】:

  • 是否有可能将文件从 .txt 更改为 .json?
  • 不,遗憾的是它需要保留一个 .txt 文件

标签: javascript jquery html arrays object


【解决方案1】:

是的,您可以,使用JSON.stringifyJSON.parse

$.get('assets/test.txt', function(data) {
    var obj = JSON.parse(data);
    var headerText = obj["header"];
    $("h1").text(headerText);
});

【讨论】:

  • 感谢您的回答,这是有道理的。我刚刚尝试实现它,但不幸的是它没有显示数据。当我尝试将 var headerText 显示为测试警报时,我收到消息“未定义”。
  • @probablybest 我的错 - 它已经是一个字符串。去掉JSON.stringify就完美了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2014-06-03
  • 1970-01-01
相关资源
最近更新 更多