问题描述
这个是服务端的代码,今天刚做的Demo:publicclassStudentController:ApiController{////GET:/Student///List<Student>stu=newList<Student>(){newStudent(){Id=1,Name="张三",Age=1},newStudent(){Id=2,Name="张三1",Age=2},newStudent(){Id=3,Name="张三2",Age=3},newStudent(){Id=4,Name="张三1",Age=4}};publicList<Student>GetAll(){returnstu;}}这是请求端的:$.getJSON("/api/Student",function(data){alert(1);for(vari=0;i<data.length;i++){$("div").eq(0).append("编号:"+data[i].Id+",姓名:"+data[i].Name);}})问题就是:在.net平台上,api的返回值是个泛型请求会自动处理成json,如果换个平台请求,那么接收到的值会是什么。
解决方案
解决方案二:
WebAPI如果你没做任何特殊处理的话,默认支持两种返回方式:JSON,XML至于到底返回哪种是根据你的requestHeader里面的Accept来确认的
解决方案三:
引用1楼starfd的回复:
WebAPI如果你没做任何特殊处理的话,默认支持两种返回方式:JSON,XML至于到底返回哪种是根据你的requestHeader里面的Accept来确认的
如果不做任何处理的话,别的平台请求这个泛型的返回值,返回值是什么类型的呢?
解决方案四:
你可以实验下,默认好像是json的,反正就是两者中的一个
解决方案五:
引用3楼starfd的回复:
你可以实验下,默认好像是json的,反正就是两者中的一个
那他是在传输数据之前转成的json吗?还是在传输过程中?
解决方案六:
request看你定义的参数response是返回时就已经按accept返回对应的序列化结果
解决方案七:
应用层出来就已经是字符串序列化好的字符串了,这是我当初问的帖子
解决方案八:
跟平台没有关系,跟你请求的accept有关系去了解下MediaTypeFormatter会更好的理解这些问题的