Skip to content Skip to sidebar Skip to footer

I Am Sending Json Data To Api But Getting Unicode Json Data Whe Api Call From Android Device

My data -: {'op':'merge','merge_bcards_ids':{'data':[216,217]},'target_bacard_id':226} In view file I am getting json list data request.data['merge_bcards_ids'] :- [258, 259] <

Solution 1:

request params are strings.

You may dump you dictionary (json.dumps) and sent it as a request param. On other side you must to use json.loads to convert you data back to dict.

Also you can dump only array "data":json.dumps([216,217]) and then load it as array: json.loads(request.data["merge_bcards_ids"]).

It may cause some encoding/decoding errors (it depends on version of python you are using)

Solution 2:

I don't know why the data is coming as unicode, I also passed through this same situation once and i solved by converting from unicode data to normal; This code may help you to do that;

if isinstance(request.data['merge_bcards_ids'], unicode):
    merge_bcards_ids = list(unicodedata.normalize('NFKD', request.data['merge_bcards_ids']).encode('ascii','ignore'))
else:
    merge_bcards_ids = request.data['merge_bcards_ids']

OR

merge_bcards_ids = [unicodedata.normalize('NFKD', ids).encode('ascii','ignore') for ids in list(unicodedata.normalize('NFKD', request.data['merge_bcards_ids']).encode('ascii','ignore'))).encode('ascii','ignore')]

Solution 3:

Make sure you are using the "application/json" content type when submitting your request.

Post a Comment for "I Am Sending Json Data To Api But Getting Unicode Json Data Whe Api Call From Android Device"