我是 MonoTouch 的新手,一直在努力尝试发布到将 JSON 返回给我的网站。在 MonoTouch 示例站点中,有剪切和粘贴的示例,但我找不到工作项目。RestSharp 看起来不错,但我一直找不到任何包含工作示例的 IOS 项目。我知道这应该很简单,只需剪切和粘贴代码,System.dll 具有 System.Net 名称空间,但对我来说,我不断得到未解决的引用。我可以运行的一个工作示例将有很长的路要走。哪怕只是一个微不足道的例子。我可以添加我自己的所有复杂的东西。
谢谢,
我是 MonoTouch 的新手,一直在努力尝试发布到将 JSON 返回给我的网站。在 MonoTouch 示例站点中,有剪切和粘贴的示例,但我找不到工作项目。RestSharp 看起来不错,但我一直找不到任何包含工作示例的 IOS 项目。我知道这应该很简单,只需剪切和粘贴代码,System.dll 具有 System.Net 名称空间,但对我来说,我不断得到未解决的引用。我可以运行的一个工作示例将有很长的路要走。哪怕只是一个微不足道的例子。我可以添加我自己的所有复杂的东西。
谢谢,
这是我在 System.JSON 命名空间中使用的代码片段:
public JsonValue Post(string address) {
JsonValue value = null;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(address);
req.Method = "POST";
JsonObject postJson = new JsonObject();
foreach (KeyValuePair<string, string> val in this.FormParams)
postJson.Add(new KeyValuePair<string, JsonValue>(val.Key, new JsonPrimitive(val.Value)));
byte[] postData = new ASCIIEncoding().GetBytes(postJson.ToString());
req.ContentLength = postData.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(postData, 0, postData.Length);
dataStream.Close();
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
using (StreamReader reader = new StreamReader (resp.GetResponseStream ()))
{
value = JsonValue.Load(reader);
}
}
}
catch (Exception ex)
{
_lastError = ex.Message;
Log.Error(String.Format("Exception on JsonHandler::Post(action): {0}", ex.Message));
}
return value;
}
其中“action”是要访问的地址,例如http://service-address.com/json/users 而“this.FormParams”是一个包含 post-data 的列表。它将返回一个可以包含各种 JSON 对象的 JsonValue。