如何将JsonString作为Android WebAPI中的参数传递

时间:2016-04-13 07:36:59

标签: android android-fragments xamarin xamarin.android xamarin.forms

string sortbyObj ="{'SortName':'DueDate','SortType':'asc'}";

string FiltersObj = "{'StartTime':'1/8/2016','EndTime':'3/8/2018','Ovedue':false,'Status':-1,'Priority':-1,'AssignedTo':-9999,'FollowUpBy':-9999,'Mytasks':false,'StartsWith':'','Endswith':''}";

string apiUrl = MainActivity.GetData("http://" + MainActivity.IPAddress + "/JTASKTest/api/jtasks/GetItemList?uName=admin&tgId=1&sortbyObj='"+sortbyObj.ToString()+"'&FiltersObj='"+FiltersObj.ToString()+"'");

我正在尝试将字符串作为参数发送但是它给出了'输入字符串Formate not correct'异常。请帮助我如何通过WebApi将这两个字符串作为参数发送

1 个答案:

答案 0 :(得分:2)

如果你的API识别出url编码的Json String,那么我建议你使用类似这样的东西

string url = "http://yourapi/chat?msg=" + HttpUtility.UrlEncode(msg);

详细回答here

在你的情况下:

string apiUrl = MainActivity.GetData("http://" + MainActivity.IPAddress +"/JTASKTest/api/jtasks/GetItemList?uName=admin&tgId=1&sortbyObj='"+  HttpUtility.UrlEncode(sortbyObj.ToString())+"'&FiltersObj='"+HttpUtility.UrlEncode(FiltersObj.ToString()));

但在这种情况下,您必须确保您的API了解URL编码JSON