将JSON解析为Object失败

时间:2014-09-22 10:11:40

标签: c# json xamarin

我正在尝试将JSON解析为一个对象,但它仍然失败。

我一直在收到错误:

  

类型或命名空间名称' DataContractJsonSerializer'命名空间中不存在System.Runtime.Serialization.Json' (你错过了一个程序集引用吗?)

但到目前为止,所有参考文献都已添加,但不知怎的,它仍无法正常运作。

我在这里做对了吗?

我到目前为止的代码如下:

public Json_Connection ()
{
    // Create a request for the URL. 
    WebRequest request = WebRequest.Create (
            "http://10.190.80.248/WebService/webservice.asmx/getStudentID?id=1");

    // If required by the server, set the credentials.
    request.ContentType = "application/json";
    request.Credentials = CredentialCache.DefaultCredentials;

    // Get the response.
    WebResponse response = request.GetResponse ();

    // Display the status.
    Console.WriteLine (((HttpWebResponse)response).StatusDescription);

    // Get the stream containing content returned by the server.
    Stream dataStream = response.GetResponseStream ();

    // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader (dataStream);

    // Read the content.
    string responseFromServer = reader.ReadToEnd ();

    // Display the content.
    Console.WriteLine (responseFromServer);

    // Clean up the streams and the response.
    XmlSerializer serializer = new DataContractJsonSerializer (Json.GetType(), new Type[] { typeof(Json) });
    Json flippo = (Json)serializer.Deserialize (reader);
}

我使用MAC,因此没有Windows文件夹或.net

1 个答案:

答案 0 :(得分:0)

您需要向项目添加对System.Runtime.Serialization的引用。该dll应作为标准Xamarin发行版的一部分包含在内。

或者,您可能想尝试使用Newtonsoft.Json,这是一个适用于Xamarin的优秀Json包。