使用C#为Android编写web serice

时间:2015-05-15 07:43:10

标签: web-services android-service

我想用C#编写一个Web服务来从Android应用程序调用

在我的网络服务中我写了一个HElloWorld()方法给calles和ConvertDataTableTojSonString转换成数据到Json我下载转换来自互联网的fonction,我的问题是ConvertDataTableTojSonString函数它给我一些回复的东西

"[{\"ProId\":1,\"ProcName\":\"لبنیات\"},{\"ProId\":2,\"ProcName\":\"لوازم بهداشتی\"},{\"ProId\":3,\"ProcName\":\"لوازم آرایشی\"},{\"ProId\":4,\"ProcName\":\"خشکبار\"},{\"ProId\":5,\"ProcName\":\"نوشیدنی ها\"},{\"ProId\":6,\"ProcName\":\"سبزیجات\"},{\"ProId\":7,\"ProcName\":\"فرآورده های گوشتی\"}]"

返回的json格式无法识别我的Android应用程序我不需要'/'befor和之后的项目。 任何机构都可以帮我找到一个功能,将我的数据表更改为JSON格式,以便在Android应用中使用,谢谢:)

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void HelloWorld() {
    JavaScriptSerializer js = new JavaScriptSerializer();
    Context.Response.Clear();
    Context.Response.ContentType = "application/json";
    HelloWorldData data = new HelloWorldData();
    data.Message = ConvertDataTableTojSonString(db.Select("select * from ProCategory ",CommandType.Text));
    Context.Response.Write(js.Serialize(data.Message));
}

public String ConvertDataTableTojSonString(DataTable dataTable)
{
    System.Web.Script.Serialization.JavaScriptSerializer serializer =
           new System.Web.Script.Serialization.JavaScriptSerializer();

    List<Dictionary<String, Object>> tableRows = new List<Dictionary<String, Object>>();

    Dictionary<String, Object> row;

    foreach (DataRow dr in dataTable.Rows)
    {
        row = new Dictionary<String, Object>();
        foreach (DataColumn col in dataTable.Columns)
        {
            row.Add(col.ColumnName, dr[col]);
        }
        tableRows.Add(row);
    }
    return serializer.Serialize(tableRows);
}  

0 个答案:

没有答案