JSON 轉 PHP

從 JSON 產生附 fromArray() 的具型別 PHP 類別

JSON 輸入

選項

模型

PHP 輸出

貼上 JSON 或載入範例,即可產生 PHP 程式碼。

JSON 轉 PHP 會產生什麼

JSON 轉 PHP 會將 API 回應或任何 JSON 範例轉成 PHP 類別。建構子提升會產生 public 具型別的建構子參數(PHP 8.0+);公開屬性樣式則產生具型別屬性,並在 fromArray() 中填入值。必要參數排在選用參數之前,選用值預設為 null,並以 PHPDoc list<Type> 註記描述原生型別無法表達的陣列元素。

使用方式
  1. 1.貼上 JSON、上傳或拖放 .json 檔案,或載入其中一個範例。
  2. 2.設定根類別名稱,以及選填的命名空間,例如 App\Models。
  3. 3.選擇類別樣式,以及是否產生具型別屬性與 PHPDoc。
  4. 4.閱讀提示,然後複製程式碼或下載 Models.php。以 json_decode($json, true) 解碼後呼叫 Root::fromArray($data)。
型別如何推斷
  • •會檢查陣列中的每個元素,而不只是第一個,同一陣列中的物件會合併。
  • •部分物件缺少的鍵為選用;有時為 null 的鍵為可為 null。兩者分開處理。
  • •同一位置出現 1 與 2.5 時會放寬為小數;其他混合情況會回報。
  • •空陣列與一律為 null 的值沒有型別依據,因此使用泛用型別,並以提示說明原因。
  • •型別對應:string → string、integer → int、decimal → float、boolean → bool、array → 附 list<T> PHPDoc 的 array、object → 類別、出現 null → ?T、混合純量 → 聯集,例如 string|int、unknown → mixed。
限制與隱私

範例只代表資料某一次的樣貌,並非完整的 API 合約。依賴程式碼前,請檢查選用欄位、泛用型別與數字寬度。輸入上限為 5 MB 與 256 層巢狀;從 2 MB 起,需按下「產生」按鈕才會產生。所有處理都在瀏覽器中執行,JSON 不會上傳。超過 PHP_INT_MAX 的整數會標為 mixed,因為除非使用 JSON_BIGINT_AS_STRING,json_decode 會將其轉為浮點數。

CodingTool 已正式上線於

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch