PHP में JSON पार्स करते समय पार्सर त्रुटियाँ
json_last_error फ़ंक्शन की मदद से
यह पता लगाया जा सकता है कि JSON को पार्स करते समय
किस प्रकार की त्रुटि
हुई है।
आइए देखें, यह कैसे
किया जाता है। मान लीजिए हमारे पास
एक गलत JSON है:
<?php
$json = '["a", "b", "c",]';
?>
आइए इसे पार्स करने का प्रयास करें:
<?php
$data = json_decode($json);
var_dump($data); // null प्रिंट करेगा
?>
चूंकि एक त्रुटि हुई थी, इसलिए json_last_error
को कॉल करने पर यह उस त्रुटि का नंबर देगा:
<?php
$error = json_last_error();
var_dump($error); // त्रुटि संख्या
?>
वापस आने वाली संख्या की तुलना PHP विशेष कॉन्स्टेंट के साथ की जा सकती है। इसके आधार पर विभिन्न प्रकार की त्रुटियों को पकड़ने वाला कोड लिखा जा सकता है:
<?php
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo 'कोई त्रुटि नहीं';
break;
case JSON_ERROR_DEPTH:
echo 'स्टैक की अधिकतम गहराई तक पहुँच गया';
break;
case JSON_ERROR_STATE_MISMATCH:
echo 'गलत मोड या मोड मेल नहीं खा रहे';
break;
case JSON_ERROR_CTRL_CHAR:
echo 'गलत कंट्रोल कैरेक्टर';
break;
case JSON_ERROR_SYNTAX:
echo 'सिंटैक्स त्रुटि, गलत JSON';
break;
case JSON_ERROR_UTF8:
echo 'गलत UTF-8 वर्ण, संभवतः गलत एन्कोड किया गया';
break;
default:
echo 'अज्ञात त्रुटि';
break;
}
?>
कुछ JSON वाली एक स्ट्रिंग दी गई है। इसे PHP डेटा संरचना में पार्स करें। पार्सिंग का परिणाम या त्रुटि का कारण प्रिंट करें, यदि JSON को पार्स नहीं किया जा सका।