API04003: विकृत JSON प्रतिक्रिया
इसका क्या मतलब है
सर्वर ने डेटा लौटाया जो JSON प्रतीत होता है लेकिन यह खराब या अमान्य है। POS प्रतिक्रिया को पार्स नहीं कर सका क्योंकि JSON सिंटैक्स टूट गया है।
सामान्य कारण
- PHP नोटिस/चेतावनी — JSON से पहले PHP आउटपुट
- BOM (बाइट ऑर्डर मार्क) — फ़ाइल की शुरुआत में अदृश्य वर्ण
- एन्कोडिंग मुद्दे — वर्ण एन्कोडिंग समस्याएँ
- छँटी हुई प्रतिक्रिया — प्रतिक्रिया प्रसारण के मध्य में कट गई
- प्लगइन आउटपुट — किसी प्लगइन ने गैर-JSON सामग्री जोड़ी
कैसे ठीक करें
1. PHP नोटिस के लिए जांचें
JSON से पहले PHP नोटिस/चेतावनियाँ पार्सिंग को तोड़ देती हैं:
wp-config.php में:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
wp-content/debug.log की समीक्षा करें और किसी भी समस्या को ठीक करें।
2. BOM वर्णों के लिए जांचें
कुछ टेक्स्ट एडिटर अदृश्य BOM वर्ण जोड़ते हैं:
- BOM के बिना PHP फ़ाइलों को फिर से सहेजें
- BOM के बिना UTF-8 एन्कोडिंग का उपयोग करें
- हाल ही में संपादित फ़ाइलों की जांच करें
3. पूर्ण प्रतिक्रिया का सत्यापन करें
यदि प्रतिक्रियाएँ छँट रही हैं:
- PHP आउटपुट बफरिंग सेटिंग्स की जांच करें
- php.ini में
output_bufferingबढ़ाएँ - टाइमआउट समस्याओं की जांच करें
4. API को सीधे टेस्ट करें
अपने ब्राउज़र में या curl का उपयोग करके:
curl -v https://yoursite.com/wp-json/wcpos/v1/
JSON से पहले किसी भी अप्रत्याशित सामग्री के लिए देखें।
5. वर्ण एन्कोडिंग की जांच करें
सुनिश्चित करें कि डेटाबेस और PHP UTF-8 का उपयोग करते हैं:
wp-config.phpके charset सेटिंग्स की जांच करें- सत्यापित करें कि डेटाबेस तालिकाएँ UTF-8 हैं
- समस्याएँ उत्पन्न करने वाले विशेष वर्णों की तलाश करें