मैं फॉक्स न्यूज एपीआई के साथ काम कर रहा हूं और प्रतिक्रिया मेरे या पायथन के लिए एक ज्ञात डेटाटाइप के रूप में मान्यता प्राप्त नहीं है। यहाँ प्रतिक्रिया का एक नमूना है:

// API callback
__jp0({
  "kind": "customsearch#search",
  "url": {
  },
  "queries": {
    "request": [
      {
        "totalResults": "791000",
        "count": 10,
        "startIndex": 1,
        "inputEncoding": "utf8",
        "outputEncoding": "utf8",
        "safe": "off",
        "siteSearch": "foxnews.com",
        "siteSearchFilter": "i"
      }
    ],
    "nextPage": [
      {
        "totalResults": "791000",
        "count": 10,
        "startIndex": 11,
        "inputEncoding": "utf8",
        "outputEncoding": "utf8",
        "safe": "off",
        "siteSearchFilter": "i"
      }
    ]})

पूरी प्रतिक्रिया देखने के लिए यहां एपीआई लिंक है लिंक मैं प्रतिक्रिया को जेसन या किसी ज्ञात डेटाटाइप के रूप में पार्स करना चाहता हूं।

2
Hassan Ibraheem 13 फरवरी 2021, 11:35

2 जवाब

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

आप वहां एपीआई में जो देखते हैं उसे JSONP प्रारूप कहा जाता है।

यह एक मानक प्रारूप है और इसलिए आप प्रतिक्रिया से केवल कोष्ठक हटा सकते हैं और फिर सामान्य जेसन जैसे कोष्ठक के अंदर क्या लोड कर सकते हैं:

data_json = response_json.split("(", 1)[1].strip(")")
parsed_json = json.loads(data_json)
3
dmitryguzeev 13 फरवरी 2021, 12:00

मुझे नहीं लगता कि आप dict() फ़ंक्शन का उपयोग करके या जेसन लिब का उपयोग करके टिप्पणियों के साथ एक जेसन को पार्स कर सकते हैं, मैं किसी तृतीय पक्ष जेसन पार्स लिब का उपयोग करने की अनुशंसा करता हूं, आप उनमें से बहुत से ऑनलाइन ढूंढ सकते हैं और मुझे यकीन नहीं है कि 100% के बारे में __jp0 (); यदि आप इसे पार्स कर सकते हैं यदि आपने टिप्पणी हटा दी है यानी __jp0(JSON);

-1
Hero 13 फरवरी 2021, 12:03