Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
2018-12-10
02:26 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
i am using NMSDK script to get info of cluster,
but i want to get the output in json() format.
How can i set the Content type as "application/json"
<snip>
import sys
import pprint
import json
sys.path.append("./NetApp")
from NaServer import *
s = NaServer("Array", 1 , 32)
s.set_server_type("FILER")
s.set_transport_type("HTTPS")
s.set_port(443)
s.set_style("LOGIN")
s.set_admin_user("admin", "password@123")
api = NaElement("cluster-identity-get")
xi = NaElement("desired-attributes")
api.child_add(xi)
xi1 = NaElement("cluster-identity-info")
xi.child_add(xi1)
xi1.child_add_string("cluster-contact","<cluster-contact>")
xi1.child_add_string("cluster-location","<cluster-location>")
xi1.child_add_string("cluster-name","<cluster-name>")
xi1.child_add_string("cluster-serial-number","<cluster-serial-number>")
xi1.child_add_string("cluster-uuid","<cluster-uuid>")
xi1.child_add_string("rdb-uuid","<rdb-uuid>")
xo = s.invoke_elem(api)
print (type(xo))
if (xo.results_status() == "failed") :
print ("Error:\n")
print (xo.sprintf())
sys.exit (1)
print ("Received:\n")
data = xo.sprintf()
print (data)
<snip>
Solved! See The Solution
12 REPLIES 12
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-18
01:46 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
NMSDK recieves data in the XML format which is similar to JSON. They have key value pair, can be nested into other elements arbitarily.
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-18
02:51 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
yes , i know
i want to know is there any way we can set content-type
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-18
02:57 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
No, NMSDK only supports XML like formatting for the data getting sent and being recieved.
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-21
07:22 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
Did you try this?
obj = xmltodict.parse(xo.sprintf())
jd = json.dumps(obj)
a = Response(jd, content_type='application/json')
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-30
09:40 PM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
a = Response(jd, content_type='application/json')----> what us Response here??
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-31
04:21 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
from flask import Response
Re: How to get result from NMSDK in json format or set content type to application/json
2018-12-31
09:03 PM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
No not working.
because xo.sprinf() return unicode type data.
and when we use below code
<snip>
obj = xmltodict.parse(xo.sprintf())
jd = json.dumps(obj)
a = Response(jd, content_type='application/json')
pprint.pprint(a.data)----> it return in dict format, but its data type is <str>
print data["cluster-uuid"] ---> so when try to access by it key it gives error
<snip>
Data i get:
'{"results": {"@status": "passed", "attributes": {"cluster-identity-info": {"cluster-contact": null, "cluster-location": "B", "cluster-name": "IA", "cluster-serial-number": "1--7868", "cluster-uuid": "----uuid----", "rdb-uuid": "---uuid---"}}}}'
<error>
print data["cluster-uuid"]
TypeError: string indices must be integers, not str
<error>
Highlighted
Re: How to get result from NMSDK in json format or set content type to application/json
2019-01-02
06:27 AM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
Try to add json loads.
obj = xmltodict.parse(xo.sprintf())
jd = json.dumps(obj)
jl = json.loads(jd)
a = Response(jl, content_type='application/json')
Re: How to get result from NMSDK in json format or set content type to application/json
2019-01-03
10:05 PM
- Bookmark
- Permalink
- Email to a Friend
- Report Inappropriate Content
yes, now it is giving json output, but only class instance
when i try to get data also it is giving instance details only.
example:
obj = xmltodict.parse(xo.sprintf())
jd = json.dumps(obj)
jl = json.loads(jd)
a = Response(jl, content_type='application/json')
#pprint.pprint(dir(a))
pprint.pprint(a)--> <Response likely-streamed [200 OK]>
print a.get_json--> <bound method Response.get_json of <Response likely-streamed [200 OK]>>
print a.is_json---> True
print a._get_data_for_json--> <bound method Response._get_data_for_json of <Response likely-streamed [200 OK]>>
what i want is json data.