मैं किसी तीसरे पक्ष के विक्रेता से प्राप्त डेटा प्रतिक्रिया को पार्स करने में फंस गया हूं। प्रतिक्रिया कुछ इस प्रकार है:-

data: ()(responseCode='A01', responseMessage='Approved', accountNumber='qwerty');

मैंने पार्सिंग/स्ट्रिंग करने के कई तरीकों का प्रयास किया है लेकिन यह मुझे JSON प्रतिक्रिया प्रदान नहीं करता है। मैंने क्वेरीस्ट्रिंग फ़ंक्शंस के अजीब संयोजनों की भी कोशिश की लेकिन इससे मदद नहीं मिली। मैं इसमें बुरी तरह फंस गया हूं।

0
Abhishek Agarwal 3 अप्रैल 2020, 08:29

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"}

0
Mohamed Shabeer kp 3 अप्रैल 2020, 09:38

आप इसे वैध 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)
0
Mhmdrz_A 3 अप्रैल 2020, 10:14