html Salvar Objeto em JSON,CSV,TSV
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html Salvar Objeto em JSON,CSV,TSV相关的知识,希望对你有一定的参考价值。
(function() {
var br = "\n"
function extend(o) {
Array.prototype.slice.call(arguments, 1).forEach(function(source) {
if (!source) return
for (var keys = Object.keys(source), i = 0; i < keys.length; i++) {
var key = keys[i]
o[key] = source[key]
}
})
return o
}
function unquote(str) {
var match
return (match = str.match(/(['"]?)(.*)\1/)) && match[2] || str
}
function comments(line) {
return !/#@/.test(line[0])
}
function getValues(line, sep) {
return line.split(sep).map(function(value) {
var value = unquote(value);
var numeric = +value;
return (numeric === numeric) ? numeric : value; // take advantage of NaN !== NaN
})
}
function Parser(sep, options) {
var opt = extend({
header: true
}, options)
this.sep = sep
this.header = opt.header
}
Parser.prototype.stringify = function(data) {
var sep = this.sep,
head = !!this.header,
keys = (typeof data[0] === 'object') && Object.keys(data[0]),
header = keys && keys.join(sep),
output = head ? (header + br) : ''
if (!data || !keys) return ''
return output + data.map(function(obj) {
var item = keys ? {} : []
var values = keys.reduce(function(p, key) {
p.push(obj[key])
return p
}, [])
return values.join(sep)
}).join(br)
}
Parser.prototype.parse = function(tsv) {
var sep = this.sep,
lines = tsv.split(/[\n\r]/).filter(comments),
head = !!this.header,
keys = head ? getValues(lines.shift(), sep) : {}
if (lines.length < 1) return []
return lines.reduce(function(output, line) {
var item = head ? {} : []
output.push(getValues(line, sep).reduce(function(item, val, i) {
item[keys[i] || i] = val
return item
}, item))
return output
}, [])
}
// Export TSV parser as main, but also expose `.TSV`, `.CSV` and `.Parser`.
var TSV = new Parser("\t")
extend(TSV, {
TSV: TSV,
CSV: new Parser(","),
Parser: Parser
})
if (typeof module !== 'undefined' && module.exports) {
module.exports = TSV
} else {
this.TSV = TSV
}
}).call(this)
var data = [{
key: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号'
}, {
key: '2',
name: '张学友',
age: 42,
address: '西湖区湖底公园1号'
}];
function downloadJSON(a) {
var json = JSON.stringify(data);
a.href = "data:application/json;charset=utf-8," + json;
}
function downloadCSV(a) {
var csv = TSV.CSV.stringify(data);
console.log(csv)
a.href = "data:text/csv;charset=utf-8,\ufeff" + csv;
}
function downloadTSV(a) {
var tsv = TSV.stringify(data);
console.log(tsv)
a.href = "data:text/tsv;charset=utf-8,\ufeff" + tsv;
}
<p>Table data can be downloaded as JSON, CSV, TSV</p>
<a id="test" download="data.txt" href="data:text/txt;charset=utf-8,内容lalallaala">下载 TXT</a>
<a id="json" onclick="downloadJSON(this)" download="data.json" href="javascript:;">下载 JSON</a>
<a id="json" onclick="downloadCSV(this)" download="data.csv" href="javascript:;">下载 CSV</a>
<a id="json" onclick="downloadTSV(this)" download="data.tsv" href="javascript:;">下载 TSV</a>
以上是关于html Salvar Objeto em JSON,CSV,TSV的主要内容,如果未能解决你的问题,请参考以下文章
javascript Transformar Array em Objeto
javascript Verificar se objeto existe em um array
java Servlet que procesa un objeto basado en el input encontrado en una tabla HTML
text Objeto como una superclase
javascript Ajax - Enviar um objeto
JavaScript Javascript - Listar propiedades de un objeto