十五个 SDK,一个对称 API

15 个端口上相同的转换器接口。每个格式链都通过 TOON 作为规范枢纽。选择您的语言;契约是相同的。

克隆仓库

git clone https://gitlab.com/toontoolbox/toonconverter.git

Tier 1 — 全功能 SDK(6)

TypeScript

TypeScript

稳定

javascript/

零依赖。通过 normalizeValue() 直接序列化。全部 16 个 P5 转换器。Jest 运行器。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/javascript
npm install && npm test
369 tests 全部 16 个 P5
Python

Python

稳定

python/

零依赖。支持 dataclass 的直接序列化。全部 16 个 P5 转换器。pytest。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/python
pip install -e . && pytest
376 tests 全部 16 个 P5
Go

Go

稳定

go/

基于反射的序列化,支持 struct 标签。全部 16 个 P5 转换器。stdlib encoding/xml。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/go
go mod download && go test ./...
249 tests 全部 16 个 P5
Rust

Rust

稳定

rust/

Serde 集成(零开销)。全部 16 个 P5 转换器。内联测试套件。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/rust
cargo test
209 tests 全部 16 个 P5
Java

Java

稳定

java/

Gson 或直接反射。全部 16 个 P5 转换器。JUnit 5。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/java
mvn test
256 tests 全部 16 个 P5
C# / .NET

C# / .NET

稳定

csharp/

System.Text.Json 或直接反射。全部 16 个 P5 转换器。xUnit 套件。直接序列化快 46.7%。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/csharp
dotnet test
278 tests 全部 16 个 P5

Tier 2 — 核心 + 非二进制转换器(9)

PHP

PHP

稳定

php/

零依赖。非二进制 P5 转换器(XML, CSV, EDI, YAML 等)。原生 PHP 8.2+。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/php
php -f test_runner.php
145 tests 非二进制 P5
R

R

稳定

r/

零依赖(jsonlite 可选)。非二进制 P5 转换器。原生 R。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/r
Rscript test_runner.R
121 tests 非二进制 P5
Perl

Perl

稳定

perl/

零依赖。非二进制 P5 转换器。原生 Perl 5.34+。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/perl
perl -I. t/all.t
134 tests 非二进制 P5
VB.NET

VB.NET

稳定

vbnet/

.NET 8, xUnit。非二进制 P5 转换器。与 C# SDK 共享工具链。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/vbnet
dotnet test
80 tests 非二进制 P5
Swift

Swift

稳定

swift/

Swift Package Manager。非二进制 P5 转换器。XCTest。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/swift
swift test
82 tests 非二进制 P5
C++

C++

稳定

cpp/

仅头文件 C++17 (toon.hpp)。非二进制 P5 转换器。CMake。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/cpp
mkdir build && cd build && cmake .. && make && ctest
137 tests 非二进制 P5
C

C

稳定

c/

C99 (toon.h + toon.c)。非二进制 P5 转换器。Makefile。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/c
make && make test
124 tests 非二进制 P5
Fortran

Fortran

稳定

fortran/

Fortran 2008。非二进制 P5 转换器。CMake + gfortran。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/fortran
mkdir build && cd build && cmake .. && make && ctest
133 tests 非二进制 P5
Delphi / Free Pascal

Delphi / Free Pascal

稳定

delphi/

Free Pascal 兼容。非二进制 P5 转换器。原生测试运行器。

git clone https://gitlab.com/toontoolbox/toonconverter.git
cd toonconverter/delphi
fpc -Mobjfpc -S2 tests/all_tests.pas
136 tests 非二进制 P5

UI 示例

React

React

react-example/

7 格式对象面板 + 表格形式 CSV/TSV + GeoJSON。React hooks, TypeScript。

Vue 3

Vue 3

vue-example/

10 格式覆盖,Vue 3 Composition API, TypeScript。

跨 SDK 契约

  • 相同的对称 API:所有 15 个端口上使用 ToToon() / toonTo()。
  • 相同的错误类型:各处均使用 ToonExportError(或语言等价物)。
  • 相同的 TOON v3.0 编码器/解码器,具有相同的选项(indent_size, strict, key_folding, default_delimiter)。
  • 相同的 CSV 选项:多分隔符(逗号、分号、制表符、竖线),符合 RFC 4180。
  • 相同的测试类别:往返、边缘情况、无效输入、官方 fixture。
  • 所有 15 个 SDK 均采用 MIT 许可证。