我想用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);
}