JSON से PHP
JSON से fromArray() वाली टाइप की गई PHP क्लास बनाएँ
PHP कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
JSON to PHP क्या बनाता है
JSON to PHP किसी API प्रतिक्रिया या किसी भी JSON नमूने को PHP क्लास में बदलता है। Constructor promotion public टाइप किए गए constructor पैरामीटर लिखता है (PHP 8.0+); public-प्रॉपर्टी शैली टाइप की गई प्रॉपर्टी लिखती है और उन्हें fromArray() में भरती है। आवश्यक पैरामीटर वैकल्पिक पैरामीटर से पहले आते हैं, वैकल्पिक मानों का डिफ़ॉल्ट null होता है, और PHPDoc list<Type> annotation उन ऐरे आइटम का वर्णन करते हैं जिन्हें नेटिव टाइप नहीं कर सकते।
उपयोग कैसे करें
- 1.JSON पेस्ट करें, एक .json फ़ाइल अपलोड करें या छोड़ें, या कोई उदाहरण लोड करें।
- 2.रूट क्लास का नाम और App\Models जैसा वैकल्पिक namespace रखें।
- 3.क्लास शैली चुनें और तय करें कि टाइप की गई प्रॉपर्टी और PHPDoc लिखने हैं या नहीं।
- 4.सूचनाएँ पढ़ें, फिर कोड कॉपी करें या Models.php डाउनलोड करें। json_decode($json, true) से डिकोड करें और Root::fromArray($data) कॉल करें।
टाइप का अनुमान कैसे लगाया जाता है
- •ऐरे का हर आइटम जाँचा जाता है, केवल पहला नहीं, और एक ही ऐरे के ऑब्जेक्ट मिला दिए जाते हैं।
- •कुछ ऑब्जेक्ट में न मिलने वाली कुंजी वैकल्पिक होती है; कभी-कभी null होने वाली कुंजी nullable होती है। दोनों को अलग रखा जाता है।
- •एक ही स्थान पर 1 और 2.5 दशमलव संख्या में बदल जाते हैं; अन्य मिश्रण की सूचना दी जाती है।
- •खाली ऐरे और हमेशा null रहने वाले मानों के टाइप का कोई प्रमाण नहीं होता, इसलिए सामान्य टाइप उपयोग होता है और एक सूचना कारण बताती है।
- •टाइप मैपिंग: स्ट्रिंग → string, पूर्णांक → int, दशमलव → float, बूलियन → bool, ऐरे → list<T> PHPDoc के साथ array, ऑब्जेक्ट → class, null मिला → ?T, मिले-जुले स्केलर → string|int जैसा union, अज्ञात → mixed।
सीमाएँ और गोपनीयता
नमूना केवल यह दिखाता है कि डेटा एक बार कैसा दिखा था, पूरा API अनुबंध नहीं। कोड पर भरोसा करने से पहले वैकल्पिक फ़ील्ड, सामान्य टाइप और संख्याओं की चौड़ाई जाँचें। इनपुट 5 MB और 256 नेस्टिंग स्तरों तक सीमित है; 2 MB से, जनरेशन बनाएँ बटन की प्रतीक्षा करता है। सब कुछ आपके ब्राउज़र में चलता है और JSON कभी अपलोड नहीं होता। PHP_INT_MAX से बड़े पूर्णांक mixed टाइप किए जाते हैं, क्योंकि JSON_BIGINT_AS_STRING उपयोग न करने पर json_decode उन्हें float में बदल देता है।
