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

How to Pass JsonString As a Parameter in Android WebAPI

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()+"'");

我正在尝试将字符串作为参数发送,但它给出了 'Input string Formate not correct' 异常。请帮助我如何通过 WebApi

将这两个字符串作为参数发送

如果您的 API 识别 url 编码的 Json 字符串,那么我建议您使用类似这样的东西

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

详细回答

你的情况:

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