早安,
我想将json数据文件转换为简单的文本文件列表,然后
我在解析数据方面经验不足,如何在jquery中做到这一点?
下面的示例只是一个示例:
我希望得到类似于以下子树视图的输出:
物品
绝望之刃
腐蚀镰刀
血翅
等等...
PS:然后,我会找到一种方法来将该列表格式化为数据表
提前谢谢!
答案 0 :(得分:1)
让我们拥有如下格式的request.json数据:
{
"data": [
{
"value1": "legion sword",
"value2": "Ogre Tomahawk",
"value3": "Magic Wand"
}, {
"value1": "Strong Dagger",
"value2": "Regular Spear",
"value3": "Mystery Codex"
}]
}
强文本 步骤1- 创建一个像这样的表:
<table id="datatable">
<thead>
<tr>
<th>Blade of Despair</th>
<th>Corrosion Scythe</th>
<th>Blood Wings</th>
</tr>
</thead>
</table>
Step2- 将该json数据与数据表一起使用,如下所示:
$(document).ready(function() {
$('#datatable').DataTable( {
"ajax": "request.json",
"columns": [
{ "data": "value1" },
{ "data": "value2" },
{ "data": "value3" }
]
} );
} );
答案 1 :(得分:0)
这更多是Node的文件系统(fs)模块的任务。这是您所要询问的非常简单的示例。 path
模块用于提供所需资源的绝对路径。 __dirname
是一个内置帮助程序,它引用当前javascript文件所在的目录。因此,该示例假定data.json
与index.js
文件位于同一目录中。
首先使用fs.readFile
读取JSON文件。读取JSON文件后,需要将其解析为人类可读的形式。在这里,您可以使用模板字符串设置格式,也可以使用制表符和换行符。格式将保留到您用data.txt
创建的fs.writeFile
文件中。
示例数据
{
"title": "Items",
"items": [
{
"subTitle": "Blade of Despair",
"subItems": ["Legion Sword", "Strong Dagger", "Swift Dagger"]
}
]
}
示例代码
const fs = require("fs")
const path = require("path")
fs.readFile(path.join(__dirname, "data.json"), (error, data) => {
const parsed = JSON.parse(data)
function itemize(obj) {
var s = ""
s += `${obj.title}\n`
obj.items.forEach(el1 => {
s += `\t- ${el1.subTitle}\n`
el1.subItems.forEach(el2 => {
s += `\t\t- ${el2}\n`
})
})
return s
}
const str = itemize(parsed)
fs.writeFile(path.join(__dirname, "data.txt"), str, error => {
console.log(error)
})
})
示例输出
Items
- Blade of Despair
- Legion Sword
- Strong Dagger
- Swift Dagger
代码沙箱