【发布时间】:2015-04-28 14:46:51
【问题描述】:
我正在编写一些代码,可以从 url 中提取 json 文件并解析 json。
该脚本可以过滤掉我需要的数据,它工作得很好。
现在,我的目标是将数据写入文本文件。我已经实现了这一点,但是数据杂乱无章。我已经在下面发布了我的代码。
document.getElementById("find").addEventListener("click", sendHTTP);
function sendHTTP()
{
var httpreq;
if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
httpreq = new XMLHttpRequest();
}
else
{ // code for IE6, IE5
httpreq = new ActiveXObject("Microsoft.XMLHTTP");
}
httpreq.onreadystatechange = function() {
if (httpreq.readyState == 4)
{
var store = httpreq.responseText;
var me = JSON.parse(store);
var parsed = [];
try
{
for (var i = 0; i < store.length; i++)
{
parsed.push(me.products[i].title); // title
for (var j = 0; j < me.products[i].offers.length; j++)
{
parsed.push(me.products[i].offers[j].offer_id); // offer_id
}
}
}
catch (err)
{ }
finally
{
downloadURI("data:text/html," + parsed.join(""), "inventory.txt");
}
}
};
httpreq.open("GET", "http://shop.cncpts.com/collections/nike-sb.oembed");
httpreq.send();
}
function downloadURI(uri, name)
{
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
}
函数 downloadURI 执行下载。
文本文件将成功下载,但来自 json 的数据杂乱无章到一行。
有什么方法可以让我把所有东西都放在一个单独的线上吗?例如:
标题
offer_id
标题
offer_id.....
【问题讨论】:
-
parsed.join("\r\n")可能会带你到某个地方 -
@Jack:你的意思是
.join('\r\n')确定吗? -
@Bergi 假设你在我看到我的错误之前看到了我的评论:P
-
也许我应该开始回答问题而不是有用的 cmets :)
-
@Jack:确实如此。 (对他们俩)
标签: javascript jquery json parsing