创建一个从数据馈送中读取文本文件并将其转换为 php 的目标文件的函数
Posted
技术标签:
【中文标题】创建一个从数据馈送中读取文本文件并将其转换为 php 的目标文件的函数【英文标题】:Creating a function that reads a text file from a data-feed and turning it into an object file for php 【发布时间】:2020-01-05 23:50:39 【问题描述】:我正在创建一个商店网站,但我收到的数据馈送格式是用竖线而不是逗号分隔的。我希望能够从文本文件中读取内容以将内容显示到网页中,并允许客户端搜索商品。
示例行:
710734240|8mm - Men's Freemason Ring / Masonic Ring - Gold and Black Inlay Tungsten Ring Comfort Fit|73628|
我尝试循环分离的项目并将它们中的每一个放入自己的数组中。
const my_data = 'test_data.txt';
async function getData()
const response = await fetch(my_data);
const data = await response.text();
//console.log(data);
const rows = data.split('\n').splice(1);
rows.forEach(elt =>
const row = elt.split('|');
row.forEach(item =>
const items = item.split(',');
// const filtered = items.filter(function (el)
// return el != "";
const lens = items.length;
//document.getElementById('data').innerhtml = rows + "<br>";
var goods =
ProductId: row[0],
Name: row[1],
MechantId: row[2],
Mechant: row[3],
link: row[4],
thumbnail: row[5],
bigImage: row[6],
Price: row[7],
RetailPrice: row[8],
mainCat: row[9],
subCat: row[10],
Description: row[11],
;
document.getElementById('data').innerHTML = goods.Description + "<br>";
);
console.log(row);
//console.log(lens);
);
getData();
【问题讨论】:
问题是什么? 如何将数据馈送转换为 json 数据以在网页上使用。 你能分享一个关于文本文件的例子吗? 这里是文本示例,这只是一行。 710734240|8 毫米 - 男士共济会戒指/共济会戒指 - 金色和黑色镶嵌钨戒指,舒适贴合|73628| 【参考方案1】:也许你想从这个开始:
let list = ;
const rows = `710734240|8mm - Men's Freemason Ring / Masonic Ring - Gold and Black Inlay Tungsten Ring Comfort Fit|73628|
710734241|9mm - Men's Freemason Ring / Masonic Ring - Gold and Black Inlay Tungsten Ring Comfort Fit|73628|
710734242|10mm - Men's Freemason Ring / Masonic Ring - Gold and Black Inlay Tungsten Ring Comfort Fit|73628|`
.split("\n")
.forEach(row => // destructing the rows curtesy of Code Maniac
(
([ProductId, Description, subCat]) => list[ProductId] = Description, subCat
)( row.split("|") )
)
// displaying example
let dl = document.createElement("dl");
let content = []
Object.keys(list).forEach(
k => content.push(`<dt>$k</dt><dd>$list[k].Description</dd>`)
)
dl.innerHTML = content.join("");
document.getElementById("container").appendChild(dl)
dl
display: flex;
flex-flow: row wrap;
border: solid #333;
border-width: 1px 1px 0 0;
dt
flex-basis: 10%;
padding: 2px 4px;
background: #333;
text-align: right;
color: #fff;
dd
flex-basis: 80%;
flex-grow: 1;
margin: 0;
padding: 2px 4px;
border-bottom: 1px solid #333;
<div id="container"></div>
【讨论】:
这看起来很有希望我希望有一种方法可以将文件发送给您并且您可以自己查看,但这是在球场上。以上是关于创建一个从数据馈送中读取文本文件并将其转换为 php 的目标文件的函数的主要内容,如果未能解决你的问题,请参考以下文章