senclaw/json

app Bộ công cụ JSON offline: format/validate/viewer/diff, chuyển đổi JSON ↔ CSV, XML, YAML, TSV, TOON, TSON, formatter cho XML/Java/Python/JS và encoder base64/URL/MessagePack.

Install

senclaw app install senclaw/json

Verifies sha512 and SenClaw’s signature before writing to disk.

Documentation

JSON Tools — SenClaw Space App

Bộ công cụ JSON chạy hoàn toàn cục bộ (không CDN, không gọi mạng): format / validate / viewer / diff, chuyển đổi giữa JSON ↔ CSV · XML · YAML · TSV · TOON · TSON, formatter cho XML/Java/Python/JS, và encoder base64 · URL · MessagePack.

  • Port: 4540
  • MCP: json-mcp tại /api/mcp/sse (7 tool)
  • Skill: json-toolbox · Persona: json-wrangler

Giao diện React port từ dự án json-tool (Vite + React 19 + ace + Bootstrap 3). Khác biệt so với bản gốc:

  • Bỏ toàn bộ script CDN (jQuery, bootstrap.js, Font Awesome). Dropdown/navbar chạy bằng state React trong [Nav.tsx](web/src/components/Nav.tsx); các icon fa-* được thay bằng ký tự Unicode trong [globals.css](web/src/styles/globals.css).
  • Bootstrap CSS được nhúng sẵn ở web/public/dist/4.0/css/jsonmain.css; các file JS legacy của trang gốc đã bị xoá (không được dùng).
  • vite base: '/' + SPA fallback phía Rust để deep route (/json-to-csv, …) trả 200 kèm index.html, còn asset thiếu vẫn 404 (xem [main.rs](src/main.rs)).

Chạy dev

cargo run -p json-tool                       # API + UI đã build tại :4540
( cd apps/json/web && npm install && npm run dev )   # Vite dev, proxy /api → 4540

Test & đóng gói

cargo test -p json-tool        # 27 test cho fmt / convert / mcp
apps/json/scripts/pack.sh      # → apps/json/json-app.zip (cài vào SenClaw)

MCP tools (json-mcp)

ToolViệc
json_formatpretty/minify, giữ nguyên thứ tự khoá
json_validatehợp lệ hay không, kèm dòng/cột lỗi
json_convertjson ↔ yaml ↔ csv ↔ tsv ↔ xml (mọi chiều)
json_querylấy giá trị theo JSON Pointer / a.b[0]
json_diffso sánh cấu trúc, liệt kê added/removed/changed
json_encode / json_decodebase64 · URL · MessagePack (base64)

Ghi chú kỹ thuật:

  • json_format không đi qua serde_json::Value (crate cố tình không bật preserve_order để tránh rò tính năng sang các member khác của workspace) — [fmt.rs](src/fmt.rs) scan lại text gốc nên thứ tự khoá và số liệu giữ nguyên. Các phép chuyển đổi khác đi qua Value nên khoá bị sắp A→Z.
  • CSV/TSV cần mảng các object; ô rỗng → null, chuỗi số có số 0 ở đầu (số điện thoại, mã bưu chính) giữ nguyên dạng chuỗi.
  • XML dùng quy ước "compact": thuộc tính @name, text #text, thẻ trùng tên gom thành mảng.
  • TOON/TSON và formatter Java/Python/JS chỉ có ở giao diện web (thư viện JS), không có trong MCP.

REST

POST /api/{format,validate,convert,diff,query,encode,decode} — thân JSON, luôn trả HTTP 200 với { ok: true, … } hoặc { ok: false, error }. GET /api/status là health check của manifest.

Declared permissions

{
  "network": [
    "127.0.0.1"
  ],
  "exec": [
    "./json-tool"
  ]
}

Declared by the publisher, not enforced by SenClaw. The CLI compares this against what you already have installed and asks before anything widens.

Published by

@senclawtrusted
benji
44 packages · 0 downloads · member since 2026-07 · GitHub since 2015-06

The checkmark means SenClaw confirmed who this publisher is. It says nothing about whether their packages are safe.

About

Owner@senclaw
Latest1.0.0
Downloads (30d)0
Repositorygithub.com/NortonBen/senclaw-app

Versions

VersionTagsArtifactsPublished
1.0.0latestdarwin-arm64, linux-x64, win32-x642026-08-07

Artifacts · 1.0.0

PlatformFormatSignatureFileSize
darwin-arm64zipunsignedjson-app.zip1230 KB
linux-x64zipunsignedjson-app.zip1335 KB
win32-x64zipunsignedjson-app.zip1302 KB

Unsigned builds require sign-in to download and are not distributed to the auto-updater, because unsigned executables from a new domain get flagged as unsafe. Sign and notarize (macOS) or Authenticode-sign (Windows) to distribute publicly.

Auto-update endpoints

For a Tauri app — add to tauri.conf.json:

"endpoints": ["https://senclaw.bacnd.com/api/v1/updates/tauri/senclaw/json/{{target}}/{{arch}}/{{current_version}}"]

For an electron-updater app — generic provider URL:

https://senclaw.bacnd.com/updates/senclaw/json/stable

Only signed/notarized artifacts are offered as updates — a client fetches the update without credentials, and unsigned binaries are not publicly downloadable.

Something wrong with this package?

Report this package

Report this package

Tell us what is wrong and a moderator will look at it. Be specific — a report that names a version and a behaviour can be checked in minutes; one that says “looks sketchy” cannot be acted on at all.

Not about this package? Contact us instead. What happens to a report is described in reporting and moderation.

API: GET https://senclaw.bacnd.com/api/v1/packages/senclaw/json