वास्तविक प्रश्न का उत्तर देने के लिए:
PHP JSON ऑब्जेक्ट को एक वर्ग में क्यों बदलता है?
एन्कोड किए गए JSON के आउटपुट पर करीब से नज़र डालें, मैंने उदाहरण दिया है कि ओपी थोड़ा कम दे रहा है:
$array = array(
'stuff' => 'things',
'things' => array(
'controller', 'playing card', 'newspaper', 'sand paper', 'monitor', 'tree'
)
);
$arrayEncoded = json_encode($array);
echo $arrayEncoded;
//prints - {"stuff":"things","things":["controller","playing card","newspaper","sand paper","monitor","tree"]}
JSON प्रारूप जावास्क्रिप्ट ( ECMAScript प्रोग्रामिंग लैंग्वेज स्टैंडर्ड ) के समान मानक से लिया गया था और यदि आप इस प्रारूप को देखेंगे तो यह जावास्क्रिप्ट की तरह दिखेगा। यह एक JSON ऑब्जेक्ट ( {}= ऑब्जेक्ट ) है जिसके पास एक संपत्ति "सामान" है जिसमें मूल्य "चीजें" हैं और एक संपत्ति "चीजें" हैं जिसके साथ यह स्ट्रिंग ( []= सरणी ) का एक मूल्य है ।
JSON (जावास्क्रिप्ट के रूप में) साहचर्य सरणियों को केवल अनुक्रमित सरणियों को नहीं जानता है। इसलिए जब JSON एक PHP साहचर्य सरणी को एन्कोडिंग करता है, तो इसका परिणाम JSON स्ट्रिंग में "सरणी" के रूप में इस सरणी से होगा।
अब हम JSON को फिर से उपयोग करके डिकोड कर रहे हैं json_decode($arrayEncoded)। डीकोड फ़ंक्शन यह नहीं जानता है कि यह JSON स्ट्रिंग कहां से उत्पन्न हुई है (एक PHP सरणी) इसलिए यह एक अज्ञात ऑब्जेक्ट में डिकोडिंग है, जो stdClassPHP में है। जैसा कि आप देखेंगे, स्ट्रिंग्स के "चीजें" सरणी एक अनुक्रमित PHP सरणी में विलीन हो जाएगी।
और देखें:
'चीजों' के लिए https://www.randomlists.com/things का धन्यवाद