Python Forum
want to know the kind of object whether its a python or json object - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: want to know the kind of object whether its a python or json object (/thread-1697.html)



want to know the kind of object whether its a python or json object - johnkennykumar - Jan-21-2017

import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'Content-Type': 'application/json',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
}

params = urllib.parse.urlencode({
    # Request parameters
    'numberOfLanguagesToDetect': '{integer}',
})
body={
  "documents": [
    {
      "id": "string",
      "text": "string"
    }
  ]
}

try:
    conn = http.client.HTTPSConnection('westus.api.cognitive.microsoft.com')
    conn.request("POST", "/text/analytics/v2.0/languages?%s" % params, str(body), headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror)
iam new to python and json.I want to know whether body object used in the code is a json object

or a python object.


RE: want to know the kind of object whether its a python or json object - Larz60+ - Jan-21-2017

It's neither, rather a dictionary.
It could be saved as a json object, probably would be best choice


RE: want to know the kind of object whether its a python or json object - johnkennykumar - Jan-21-2017

thank you sir.so as i understand "body" is a python dictionary,and in the code the json input is being stored in the python dictionary called "body"..iam i right?..thanks again


RE: want to know the kind of object whether its a python or json object - snippsat - Jan-21-2017

You should use Requests.
Data payload to server is a Python dictionary.
Requests has build in json decoder,it will do encoding inn and out of server(can just call json()).
Eg:
>>> import requests
>>> data = {"device_name": "Super-pc", "Type": "DevicePort", "page_size": 2}
>>> r = requests.post('http://httpbin.org/post', json=data)
>>> r.status_code
200
>>> r.json()
{'args': {},
 'data': '{"device_name": "Super-pc", "page_size": 2, "Type": "DevicePort"}',
 'files': {},
 'form': {},
 'headers': {'Accept': '*/*',
             'Accept-Encoding': 'gzip, deflate',
             'Content-Length': '65',
             'Content-Type': 'application/json',
             'Host': 'httpbin.org',
             'User-Agent': 'python-requests/2.9.1'},
 'json': {'Type': 'DevicePort', 'device_name': 'Super-pc', 'page_size': 2},
 'origin': '83.143.86.75',
 'url': 'http://httpbin.org/post'}
>>> data = r.json()
>>> data['json'].get('device_name', 'Not on server')
'Super-pc'
>>> data['json'].get('hello', 'Not on server')
'Not on server'



RE: want to know the kind of object whether its a python or json object - wavic - Jan-21-2017

You should mask origin key and value from the output :)


RE: want to know the kind of object whether its a python or json object - snippsat - Jan-21-2017

Not so important for me,because i am behind VPN(Astrill which i have used for 6-years).