短语第一列文本文件数据到php或JSON

时间:2015-04-19 07:28:13

标签: javascript php arrays json text-files

所以我开始学习JSON的知识。

我要做的是解析此txt文件的第一列(id)

http://www.ufo-history-evidence.com/myTutorials.txt

进入JSON数组

据我所知,我必须首先将其移动到PHP数组中,然后转换为JSON。

我认为我需要更清楚一点,

必须是JavaScript函数

执行的函数返回一个字符串

string被解析为JSON,结果是一个包含ID的数组

这就是我得到的

<script type="text/javascript">
var filePath = "myTutorials.txt";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",filePath,false);
xmlhttp.send(null);
var fileContent = xmlhttp.responseText;
var fileArray = fileContent.split('\n')

for (var i = 0, l = fileArray.length; i < l; ++i) {
fileArray[i] = fileArray[i].slice(0,7);
};

alert(fileArray.join('\n'));

</script>

2 个答案:

答案 0 :(得分:1)

更新,因为问题已被编辑,现在很清楚需要Javascript解决方案,我更新了答案匹配问题。我保留了原来的PHP函数供参考。

嗯,这里涉及的json工作很少,大部分程序都会处理字符串处理:

  1. 通过ajax获取该文件的内容以获取更多信息(或通过file_get_contents()在PHP中获取)
  2. 将行中的文件内容拆分为行,您可以使用split()方法(或explode() for PHP],这将生成一个填充该文件中的行的数组
  3. 从#2迭代数组,然后运行另一个split()(或explode())将每一行分成字段,将第一个字段添加到结果数组中
  4. 使用JSON.stringify()(或PHP的json_encode())对结果数组进行编码
  5. 或者,您可以在第3步使用map()(或array_map() in PHP),以降低代码的复杂性。

答案 1 :(得分:0)

<?php
$fh=fopen("samplie.txt","r");
if($fh){
    $arr=array();
    while(($line=fgets($fh))!=false){
        $arr[]=explode(" ",$line);
    }
    $temp=array();
    for($i=0;$i<count($arr);$i++){
        $temp[]=$arr[$i][0];
    }
    echo json_encode($temp);
}

这是一种方式,但不是最有效的方式。