ऐसा लगता है कि मैं परिणाम के साथ क्या करता हूं, भले ही यह एक वस्तु के रूप में वापस आता है क्योंकि जब मैं इसे कंसोल.लॉग करता हूं तो यह [ऑब्जेक्ट ऑब्जेक्ट] प्रिंट करता है, हालांकि जब मैं इसे टाइप करता हूं तो यह हमेशा एक स्ट्रिंग होता है, इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मैं मैं JSON.parse करने की कोशिश कर रहा हूं। तुरंत यह टूट जाता है क्योंकि यह पहले से ही एक वस्तु है, बस किसी कारण से एक के रूप में पहचाना नहीं गया है .. अगर मैं स्ट्रिंग करता हूं और फिर पार्स करता हूं तो यह अभी भी एक स्ट्रिंग रहता है।

यह वही है जो मुझे वापस मिलता है: {"पीपीआर": "कुछ पाठ", "डीडीए": "एक और पाठ"}

 var rp = require('request-promise');

 function myff(input, callback) {

 const URL = "https://test.com";


 try{
    var options = {
        method: 'GET',
        uri: URL,
        headers:{
          'Content-Type': 'application/json',
          'key': 'xxff'
        },
    };

    rp(options)
        .then(function (parsedBody) {
            var a = parsedBody;
            console.log("ParsedBody: " +  a);
            console.log("ParsedBody type : " + typeof a);

               var stringy = JSON.stringify(parsedBody);
               var parsy = JSON.parse(stringy);

               console.log("type stringy: " + typeof stringy);
               console.log("type parsy: " + typeof parsy);


            callback(null, JSON.parse(parsedBody));

        })
        .catch(function (err) {
            console.log(err)
        });

 }catch (e){
     console.log(" erros:" + e);
 }
 }
0
makat 16 अप्रैल 2020, 22:39

1 उत्तर

सबसे बढ़िया उत्तर

आपको केवल लौटाई गई JSON प्रतिक्रिया को पार्स करने की आवश्यकता है। console स्टेटमेंट के अंदर कॉमा ऑपरेटर का इस्तेमाल करें क्योंकि (+) कॉन्सटेनेशन का कारण बनता है और आप सही रिजल्ट नहीं देख पाएंगे।

var rp = require('request-promise');

 function myff(input, callback) {

 const URL = "https://test.com";


 try{
    var options = {
        method: 'GET',
        uri: URL,
        headers:{
          'Content-Type': 'application/json',
          'key': 'xxff'
        },
    };

    rp(options)
        .then(function (parsedBody) {
            var a = JSON.parse(parsedBody);
            console.log("ParsedBody: ",  a);
            console.log("ParsedBody type : ", typeof a);

            callback(null, a);

        })
        .catch(function (err) {
            console.log(err)
        });

 }catch (e){
     console.log(" erros:" + e);
 }
 }

मुझे आशा है कि यह आपकी मदद करेगा।

1
Prince 16 अप्रैल 2020, 22:50