# validate_json u6u 第一個 WASM 零件。驗證輸入字串是否為合法 JSON 格式。 ## 編譯 需要安裝 [TinyGo](https://tinygo.org/getting-started/install/): ```bash # macOS brew install tinygo # 編譯為 WASM tinygo build -o validate_json.wasm -target=wasi . ``` ## 本地測試 ```bash # 合法 JSON → {"valid":true} echo '{"json_string":"{\"key\":\"value\"}"}' | wasmtime validate_json.wasm # 非法 JSON → {"valid":false,"error":"..."} echo '{"json_string":"not-json"}' | wasmtime validate_json.wasm # 空字串 → {"valid":false,"error":"json_string is required"} echo '{"json_string":""}' | wasmtime validate_json.wasm ``` ## 提交至 Component Registry ```bash # 驗證合約格式 curl -X POST https://component-registry.finally.click/components/validate-contract \ -H "Content-Type: application/json" \ -d @component.contract.yaml # 提交零件(multipart) curl -X POST https://component-registry.finally.click/components \ -F "contract=@component.contract.yaml;type=application/yaml" \ -F "wasm=@validate_json.wasm;type=application/wasm" ```