字符串传参 public Results testfunction1(string id)
{}对象传参 public Results testfunction2(person student)
{}
通常情况下 我是用 contentType = "application/json; charset=utf-8"; 方式传递 json 字符串 但是有时候可以用json 对象也可以, 有时候不行
用字符串的时候也是 , 有时候可以 有时候不行被搞迷糊了 , 到底 什么情况对应 json 对象, 什么情况对应字符串, 什么时候对应 json字符串
{}对象传参 public Results testfunction2(person student)
{}
通常情况下 我是用 contentType = "application/json; charset=utf-8"; 方式传递 json 字符串 但是有时候可以用json 对象也可以, 有时候不行
用字符串的时候也是 , 有时候可以 有时候不行被搞迷糊了 , 到底 什么情况对应 json 对象, 什么情况对应字符串, 什么时候对应 json字符串
解决方案 »
- vs2010引用DLL文档后,怎么查看和在哪查看DLL的生成的代码文件
- Regex - [正则表达式分组问题]
- 怎样获取工具栏上的按纽?
- C# 如何开辟内存 ?
- 继承ArrayList类,实现 this[int index]时的一个问题 顶者有分
- 麻烦看下 解释下
- 哪位大哥介绍点有关RTF格式的学习资料吧,想做个QQ发图传文件的东西
- 怎么快速确定数组中的元素是否属于另一个数组?
- 谁知道System.Drawing.Printing.PrintEventArgs怎么用?
- 那位大侠可以告诉我key.snk文件是怎么生成和使用的!
- 在win10下MoveWindow和setwindowpos均无法正常工作
- 单点登录SSO的问题
string id这个,应该是querystring http://xx.api/?id=111 能收到111
Person p这种,上传表单形式(默认的)能收到
都是用post 方式, 有时候能路由到 ,有时候不行 , 应该是和ajax的写法有关 , 但是老是搞不清楚对应关系
同样的json字符串,正常来说,试多少次都是一样的,要么都成功,要么都失败。
所以只有不同json的时候,可能导致json转换对象时不匹配。
{
personCode: "1",
personName: "xxx",
}那么,应该根据这个方法参数转化:
person student (假设peson类里有如下两个字段)而你如果用这个参数转化,是收不到数据的,因为json里没有定义这个参数名:id如果,你json上传前,先包装了:
var jsonStr = JSON.stringify({
personCode: "1",
personName: "xxx",
});
然后用id参数传递:
htttp://www.xxx.com/xxx?id=jsonStr
那么后台使用参数id的方法可以收到json字符串,你需要在后台把字符串自己解析回json对象再来使用。
1、传json和传json字符串是两回事
2、mvc本身实现了一些功能,能将json对象自动因为到方法参数上去,生成反序列化为对象。其本质相当于手工调用了一下数据映射:
TryUpdateModel(student); 你可以了解一下TryUpdateModel
如果你只定义string参数的话,除非你显示指明[frombody],否则默认string是从querystring部分读取的
你还是没有描述清楚你想干嘛?你是说你有多种插件,提交时有时有json对象有时用json字符串这个现实不可避免,然后在webapi里如何兼容处理这种情况??是否??
你还是没有描述清楚你想干嘛?你是说你有多种插件,提交时有时有json对象有时用json字符串这个现实不可避免,然后在webapi里如何兼容处理这种情况??是否??
对 主要就是想做兼容处理,另外想确认下, 什么情况下,mvc把json字符串或者json对象 转换成 c# 的实体对象的映射规则