JS怎么读取txt文件中的json数据

如题所述

把你的这个.txt文件,改成.json文件(.js也可以);


    你可以做一个测试,将你的.json文件和你的调用js文件和你的页面放在一个目录下;然后$.getJSON(url, function(data){ // todo }); // 这里的url直接是xx.json

    如果你的页面和.js文件和.json文件不再一个目录,就要将url写成页面相对于.json文件的路径。

    或者等等不一而足。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-14

样例代码如下:

<!--txt 内容-->

{ "name":"baidu", "date":"2013-06-13"  }


<!--html代码-->

<html>
<head>
  <title>test</title>
 <script type="text/javascript">
  
        var readFile = function(filename){     
             var fso = new ActiveXObject("Scripting.FileSystemObject");     
             var f = fso.OpenTextFile(filename,1);     
             var s = "";     
               while (!f.AtEndOfStream){
                    s += f.ReadLine()+"\n";
               }     
             f.Close();     
          return s;     
        } 
       var setFileName = function(ele){
               var file = ele.value;
               var txt =  readFile(file);
                var obj = eval('(' + txt + ')'); 
                alert(obj.date)
               document.getElementById("txt").value = txt;
       }         
 </script>
</head>
<body  >
        <input type="file" onchange="setFileName(this)"/>
         <br/>
         <textarea id="txt" cols="50" rows="10"> 
         </textarea>
   
</body>
</html>

希望对你有用。

追问

但是每次调用这个方法都会弹框出来,不是很方便

追答

没办法,是浏览器安全的设置。建议用webservice

第2个回答  2013-06-14
思路如下:
首先把txt文件当做一个url路径来处理
然后使用ajax去除txt内容,再解析

例如

var url='C:\Users\test.txt';
$.get(url, function(data){
//data就是你要取得json数据,你可以在这里处理
});追问

到不了data那个位置来

追答

不好意思,刚才我答错了,我试了一下,果然不能那么用。

第3个回答  2013-06-14
JS打开客户端的TXT还是服务器端的TXT?

不管那边都是要调用的,纯JS没法读文本文档的.

JS读客户端文本你可以

直接打开客户端的可以new ActiveXObject("Scripting.FileSystemObject");

但是这种方法有局限性。最好的还是有后台帮助你读。

服务器端的直接读,客户端的上传后读。本回答被网友采纳
相似回答