You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nim新手求推荐:支持JSON转HTML的数据可视化及数据框库

Nim语言JSON可视化与数据框工具推荐

一、JSON可视化库

  • jsony:轻量易用,能将JSON格式化为缩进清晰的可读字符串,适合快速查看结构;若要生成HTML可视化,可搭配genhtml模板库手动渲染,灵活性强。
  • prettyjson:专注JSON美观输出,支持带颜色的终端展示(非浏览器场景),也可导出为结构化文本或HTML片段,适配本地查看需求。

二、类Pandas的数据框库(支持非浏览器展示)

  • NimData:原生to_html不直接支持JSON,但可先将JSON解析为DataFrame再调用该方法实现需求,示例代码:
    import nimdata, json, tables
    
    # 解析JSON数据
    let jsonData = parseJson("""[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]""")
    var df = newDataFrame()
    df["name"] = @[jsonData[0]["name"].getStr, jsonData[1]["name"].getStr]
    df["age"] = @[jsonData[0]["age"].getInt, jsonData[1]["age"].getInt]
    
    # 生成HTML表格
    echo df.to_html()
    
  • 标准库tables:用Nim自带的Table类型配合自定义HTML生成函数,可快速实现轻量数据框转HTML表格,适合简单场景。

三、JSON转HTML表格的替代方案

无需依赖Jester,直接用genhtml手动构建表格:

import json, genhtml

let jsonData = parseJson("""[{"col1": "val1", "col2": "val2"}, {"col1": "val3", "col2": "val4"}]""")
var doc = newHtmlDocument()
var table = doc.addTable()

# 添加表头
let headers = jsonData[0].keys
var headerRow = table.addRow()
for h in headers:
  headerRow.addTh(h)

# 添加数据行
for item in jsonData:
  var row = table.addRow()
  for h in headers:
    row.addTd(item[h].getStr)

echo doc.render()

内容的提问来源于stack exchange,提问作者Elliot Cox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:05:00