[WebMethod] //写入数据 public string Insert(string json) { //解析json aaData data = json.FromJson<aaData>(); string result = string.Empty; //根据json的tablename 判断要写入哪张表 switch (data.TableName) { case "Tab_Operation": result = Function.Insert(data.Json.FromJson<TabOperation>()); break; case "Tab_Inspect": result = Function.Insert(data.Json.FromJson<TabInspect>()); break; case "Tab_Complete": result = Function.Insert(data.Json.FromJson<TabComplete>()); break; default: break; } return result; }
RT,如果有不合适的地方,请指正
你使用的 Asp.Net Web Service,还是 WCF ,或者你自己实现的 HTTP 框架?
如果是前两者,那么你的接口不符合规范,你应该用强类型替代你的传入传出类型(如果你的返回值确实是字符串的话就不必),也就是说你不能使用按照 JSON 序列化后的字符串作为传入传出参数,除非你的类型就是一个 JSON 字符串。
public InsertResult Insert(aaData data);
用的Web Service,问题是要传递对象过来,写入数据库,除了json还能用别的办法吗?
还有强类型代替传入传出类型是什么意思? 这里的返回值是用来判断是否成功的,string换成bool可以吗
@小欢乐: 我知道你用的 Web Service,但是你是使用的什么技术实现的 Web Service,Web Service 只是一种规范,如何实现的,根据不同的框架是不一样的。请你先阅读下这里:http://baike.baidu.com/view/67105.htm
通常来说,Web Service 是基于 HTTP 的,并且使用 XML 文本作为传输的数据格式,一个标准的 Web Service 框架(比如 WCF)会按照下面的流程来执行:
1、客户端将强类型数据结构序列化成 XML 文本内容,然后将该 XML 文本内容作为 HTTP BODY 发送给服务器;
2、服务器收到请求后,将 HTTP BODY 反序列化成强类型数据结构,并调用服务接口。