के बजाय स्ट्रिंग प्रकार देता है I JSON-encoded स्ट्रिंग को json_decode()
पर पास कर रहा हूं और इसके आउटपुट को ऑब्जेक्ट प्रकार होने की उम्मीद है, लेकिन इसके बजाय स्ट्रिंग प्रकार प्राप्त हो रहा हूं। मैं एक वस्तु कैसे वापस कर सकता हूं?json_decode ऑब्जेक्ट
डॉक्स में, निम्न एक वस्तु देता है:
$json = json_encode('{"a":1,"b":2,"c":3,"d":4,"e":5}');
var_dump(json_decode($json));
:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
हालांकि, अगर मैं स्ट्रिंग पहले json_encode()
और फिर json_decode()
फोन, उत्पादन एक स्ट्रिंग और नहीं एक वस्तु है
यह सिर्फ एक सरलीकृत उदाहरण है। अभ्यास में मैं जो कर रहा हूं वह JSON-encoded स्ट्रिंग को AJAX के माध्यम से PHP में दबा रहा है। हालांकि यह इस एन्कोडेड JSON स्ट्रिंग को किसी ऑब्जेक्ट में परिवर्तित करने की समस्या को दर्शाता है जिसे मैं PHP में पढ़ सकता हूं, उदाहरण के लिए, "$json->a
"।
मैं ऑब्जेक्ट प्रकार कैसे वापस कर सकता हूं?
उत्तर के लिए धन्यवाद! इस प्रश्न का वास्तविक संदर्भ एक एपीआई से JSON प्रतिक्रिया का उपयोग कर रहा था। लेकिन जब मैं इस प्रतिक्रिया में json_decode करता हूं और मानों तक पहुंचने का प्रयास करता हूं - $ json = json_decode (एपीआई से जेसन प्रतिक्रिया); गूंज $ json-> एक यह मुझे एक त्रुटि देता है: वर्ग stdClass की वस्तु स्ट्रिंग के लिए कनवर्ट नहीं किया जा सकता है
तुम क्यों एक पहले से ही इनकोडिंग JSON सांकेतिक शब्दों में बदलना करना चाहते हैं? EX: '$ json = json_encode ('{" a ": 1," b ": 2," c ": 3," d ": 4," e ": 5}');'? – Cosmin
आप एक स्ट्रिंग एन्कोड कर रहे हैं, ऑब्जेक्ट नहीं तो जाहिर है कि जब आप इसे डीकोड करते हैं तो आपको स्ट्रिंग मिल जाएगी। – Musa
बिल्कुल सही मूसा। यदि आप एक स्ट्रिंग पास कर रहे हैं तो आप ऑब्जेक्ट की अपेक्षा कैसे कर सकते हैं? –