当前位置: 首页 > 面试题库 >

将JSON数据保存到文本文件并读取

松景铄
2023-03-14
问题内容

是否可以将JSON数据保存到本地文本文件中?因此,稍后我可以通过加载该文件再次使用它,并取回存储的JSON数据。其实我真正想做的是在文本文件中导出JSON数据,以便以后可以用作import.Any的建议或解决方案?

这是我要用于导出到文本的一些示例。

http://jsfiddle.net/k56eezxp/

var data = new Blob([text], {type: 'text/plain'});

问题答案:

是否可以将JSON数据保存到本地文本文件中?

是。当前,链接的jsfiddle处的JavaScript创建一个.txt文件,而不是有效JSON文件。

您可以使用try..catch..finallyJSON.parse()检查<textarea>element上的输入是否有效JSON。如果.valueof
<textarea>有效,请使用或MIME 属性设置为的构造函数JSON创建。并且,否则通知用户输入无效。Blob URL``Blob``File``type``"application/json"``URL.createObjectURL()``JSON

(function () {



 let file, url, reader = new FileReader;



 function createJSONFile(json) {

    let e = void 0;

    try {

      JSON.parse(json)

    } catch (err) {

      e = err;

      code.textContent = e;

    }

    finally {

      if (e) {

        code.classList.add("invalid");

        return "Invalid JSON";

      }

      else {

        code.classList.remove("invalid");

        file = new File([json], "info.json", {type:"application/json"});

        url = URL.createObjectURL(file);

        return url;

      }

    }

  };



  function revokeBlobURL() {

    window.removeEventListener("focus", revokeBlobURL);

    URL.revokeObjectURL(url);

    if (file.close) {

      file.close();

    }

  }



  function readJSON(e) {

    reader.readAsText(input.files[0]);

  }



  let create = document.getElementById("create"),

    textbox = document.getElementById("textbox"),

    code = document.querySelector("code"),

    input = document.querySelector("input[type=file]"),

    pre = document.querySelector("pre");



  create.addEventListener("click", function () {

    var link = document.createElement("a");

    link.setAttribute("download", "info.json");

    var json = createJSONFile(textbox.value);

    if (json !== "Invalid JSON") {

      link.href = json;

      document.body.appendChild(link);

      code.textContent = "Valid JSON";

      link.click();

      window.addEventListener("focus", revokeBlobURL);

    } else {

      code.textContext = json;

    }

  }, false);



  reader.addEventListener("load", function() {

    pre.textContent = JSON.stringify(reader.result, null, 2);

  });



  input.addEventListener("change", readJSON);

})();


code {

  display:block;

  width: 350px;

  height: 28px;

  border: 1px dotted green;

  padding: 4px;

  margin: 4px;

  color: green;

}



.invalid {

  border: 1px dotted red;

  color: red;

}



pre {

  background: #eee;

  width: 350px;

  height: 350px;

  border: 1px solid darkorange;

}


<textarea id="textbox" placeholder="Input valid JSON"></textarea><br>

<button id="create">Create file</button>

<br>

<code></code>

<input type="file" accept=".json" />

<pre></pre>


 类似资料:
  • 问题内容: 我有这个项目: 导入文件 连接到SQL Server数据库 将所有数据转移到数据库中 文本文件按选项卡划分为四个字段,例如数据库。 我已经完成了使用富文本框并将所有数据保存在字符串中的第一步。我的想法是将字符串拆分为每行并将其保存在数组中,然后:如何拆分每一行,以便可以正确保存字段?如何将SQL Server上的数据库连接到C#上的项目? 问题答案: 让我们一次解决这一步骤… 获取数据

  • 问题内容: 假设我有一个如下所示的javascript对象: 我将其字符串化以转换为JSON。如何将此JSON保存到本地文本文件,以便可以在记事本等中打开它。 问题答案: Node.js: 浏览器(webapi):

  • 我正在寻找有关我的代码的帮助。我希望程序从读取。txt文件,创建一个动物对象,并根据文件中找到的数据将其插入动物对象的ArrayList中,前提是文件中的数据格式正确。 我创建了一个计数器来跟踪行号。因为我知道数据是如何在。txt文件已格式化,我可以预测一个动物对象的开始位置和另一个对象的结束位置。 我经常遇到的问题是ArrayList中的动物对象与文本文件中的最后一个动物具有相同的字段。非常感谢

  • 我将一个DBF文件输入到数据框中并运行查询。 这是密码。 然后得到这样一个错误。。KeyError:[Int64Index([0],dtype='int64')]中没有一个在[columns]中 这是我想要的文本文件的输出..."2020-01-01 943 527.0 56.46 56.46 0.0 0.0"

  • 当我启动这个代码时,你通常认为它会在文本文件中输入一个100,但我不知道为什么它会像字符一样输入一个“d”。有人知道如何修复吗?一个方法应该输入一个数据,一个应该输入那个数据,一个应该保存那个数据。

  • 问题内容: 我知道如何使用和File IOException 读取文件,但是我唯一不知道的是如何将文本作为数组存储在文件中。 这是我的代码: 这是我的文件包含的内容: 问题答案: 存储为字符串: 对于花车: