मैं किसी तीसरे पक्ष के विक्रेता से प्राप्त डेटा प्रतिक्रिया को पार्स करने में फंस गया हूं। प्रतिक्रिया कुछ इस प्रकार है:-
data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');
मैंने पार्सिंग/स्ट्रिंग करने के कई तरीकों का प्रयास किया है लेकिन यह मुझे JSON प्रतिक्रिया प्रदान नहीं करता है। मैंने क्वेरीस्ट्रिंग फ़ंक्शंस के अजीब संयोजनों की भी कोशिश की लेकिन इससे मदद नहीं मिली। मैं इसमें बुरी तरह फंस गया हूं।
2 जवाब
मैं एक वर्कअराउंड पोस्ट करूंगा यह कुशल नहीं हो सकता है लेकिन आपको परिणाम देगा।
var data = "data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');";
var temp = data.substring(8,);
temp = temp.replace("(","{");
temp = temp.replace(")","}");
temp = temp.replace(/=/g,":");
temp = temp.replace(";","");
temp = eval('(' + temp + ')');
var Result = JSON.stringify(temp)
परिणाम: {"responseCode":"A01",,"responseMessage":"Approved","accountNumber":"qwerty"}
आप इसे वैध JSON संरचना में बदलने के लिए रेगेक्स का उपयोग कर सकते हैं।
let data = `data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');`;
let modified = data
.replace(/\s/g,'')
.replace("data:()(",'{\'')
.replace(");",'}')
.replace(/=/g,"':")
.replace(/,/g,",'")
.replace(/'/g,'"')
let json = JSON.parse(modified);
console.log(json)
संबंधित सवाल
नए सवाल
json
JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) मशीन और मानव पठनीय होने के लिए एक क्रमबद्ध डेटा इंटरचेंज प्रारूप है। इस टैग का उपयोग देशी जावास्क्रिप्ट वस्तुओं या जावास्क्रिप्ट ऑब्जेक्ट शाब्दिकों के लिए न करें। इससे पहले कि आप कोई प्रश्न पूछें, एक JSON सत्यापनकर्ता जैसे JSONLint (https://jsonlint.com) का उपयोग करके अपने JSON को मान्य करें।