将文本文件数据的第一列短语为 php 或 JSON

Pharse First Column of a text file db into php or JSON

所以我开始学习 JSON。

我想做的是对该 txt 文件的第一列 (id) 进行 pharse

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

进入JSON数组

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

我想我需要更清楚一点,

必须是JavaScript函数

函数执行returns一个字符串

字符串被解析为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>

更新: 由于问题已编辑,现在很明显需要 Javascript 解决方案,我更新了与问题匹配的答案。我保留了原始的 PHP 功能以供参考。

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

  1. 通过ajax for examaple (or in PHP via file_get_contents())
  2. 获取该文件的内容
  3. 按行拆分文件内容,您可以使用 split() method for this (or explode() for PHP],这将生成一个数组,其中包含该文件中的行
  4. 遍历 #2 的数组,运行 另一个 split() (or explode()) 将每一行分成字段,将第一个字段添加到结果数组中
  5. JSON.stringify() (or json_encode() 编码结果数组 PHP)

或者,您可以在第 3 步使用 map() (or array_map() in PHP) 以降低代码的复杂性。

<?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);
}

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