7

可能重复:
如何使用 JavaScript 读写文件

任何人都可以提供示例代码来使用 javascript 读取和写入文件吗?

目前我正在尝试从 json 文件中读取输入并将其显示在文本框中,从而为用户提供编辑数据的灵活性。编辑后的数据必须写入 json 文件。

4

3 回答 3

2

这是示例 html 文件,我已经用 firefox 对其进行了测试,工作正常。

<!DOCTYPE html>
<html>
    <head>
        <script>        
            function handleFileSelect()
            {               
                if (window.File && window.FileReader && window.FileList && window.Blob) {

                } else {
                    alert('The File APIs are not fully supported in this browser.');
                    return;
                }   

                input = document.getElementById('fileinput');
                if (!input) {
                  alert("Um, couldn't find the fileinput element.");
               }
               else if (!input.files) {
                  alert("This browser doesn't seem to support the `files` property of file inputs.");
               }
               else if (!input.files[0]) {
                  alert("Please select a file before clicking 'Load'");               
               }
               else {
                  file = input.files[0];
                  fr = new FileReader();
                  fr.onload = receivedText;
                  fr.readAsText(file);
               }
            }

            function receivedText() {           
               //result = fr.result;
               document.getElementById('editor').appendChild(document.createTextNode(fr.result))
            }           

        </script>
    </head>
    <body>
        <input type="file" id="fileinput"/>
        <input type='button' id='btnLoad' value='Load' onclick='handleFileSelect();'>
        <div id="editor"></div>
    </body>
</html>
于 2012-09-04T09:34:12.723 回答
1

在浏览器中显示的网页中运行的 JavaScript 无法访问客户端文件系统。

但是你可以使用 API

于 2012-09-04T08:33:53.120 回答
0

(在 javascript 中没有文件编程)如果您的意思是在 javascript 中解析 json,那么:-

  1. 您可以使用 Douglas Crockford JSON lib 进行解析:- JSON.parse 方法参考链接:- http://www.json.org/js.html

例子,

var abcd= "[{"name" : "sandeep"},{"name" :"Ramesh"}]"

abcd =JSON.parse(abcd);

for (var index=0;index<abcd.length;index++){

alert(abcd[i].name);
}
于 2012-09-04T08:41:56.687 回答