我只想知道为什么.NET必须将参数名称与JSON对象的键名进行匹配?
快速代码预览在这里…
var json = {
"service": "COMMON",
"method": "MENU_SUBLIST",
"UID": "1000007",
"ULID": "stackoverflow",
"UNM": "queston",
"SITE": "1",
"DEPT": "2",
"LANG": "ko",
"MENUID": "0000",
"STEPMENU": "",
"ACTIONNAME": ""
}
好的,让我们通过Ajax在控制器中调用一个动作。
$.ajax({
type: "POST",
url: "DATACRUD.json",
data: JSON.stringify(json),
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false, //_async,
success: function (result) {
}
});
还有我的C#动作代码。
[HttpPost]
public ActionResult DATACRUD(string jsondata)
{
return Json(new{ fromMVC = jsondata});
}
// Just example.
jsondata在此处为null, 因为我与键名不匹配。
为了使DATACRUD获取JSON数据,我必须这样做。
{ jsondata : {
"service":"COMMON",
"method":"MENU_SUBLIST",
"UID":"1000007",
"ULID":"stackoverflow",
"UNM":"queston",
"SITE":"1",
"DEPT":"2",
"LANG":"ko",
"MENUID":"0000",
"STEPMENU":"",
"ACTIONNAME":""
}
}
在这里,问题1 为何我必须将键名与参数名匹配?
就是吗?一定有原因,我想知道为什么。
我想做的是…
{
"service":"COMMON",
"method":"MENU_SUBLIST",
"UID":"1000007",
"ULID":"stackoverflow",
"UNM":"queston",
"SITE":"1",
"DEPT":"2",
"LANG":"ko",
"MENUID":"0000",
"STEPMENU":"",
"ACTIONNAME":""
}
将此JSON数据传递到操作中,我在上面指定了DATACRUD
我希望DATACRUD操作采取JSON数据并使用它,无论键名是什么。
还有另一个答案。答案是为JSON数据创建一个模型并将其作为模型类型接收,并以字符串形式获取模型。
但是在我的应用程序中无法定义模型。它可能会导致一百个模型的创建。
因此,在制作模型后接收JSONhtml" target="_blank">数据是我最后需要做的事情。
在这种情况下,我该怎么办?
不允许键名匹配。
不允许生成模型。
不允许使用第三方框架。
我认为可能的答案缩小到几个。
我该怎么办?
基于MVC控制器发布:从HTTP正文获取JSON对象? 您的操作应为:
[HttpPost]
public ActionResult DATACRUD()
{
Stream req = Request.InputStream;
req.Seek(0, System.IO.SeekOrigin.Begin);
string json = new StreamReader(req).ReadToEnd();
return Json(new { fromMVC = json });
}
我正在使用Reverfit2,我试图从我用Python制作的Web服务中请求一些数据。 实际上,它抛出了一个“java.lang.IllegalStateException”,但是当我调用GET方法时,API返回代码200,而且我还可以看到用于调试响应JSON的打印版本。问题是Call方法,因为它总是在failure时执行。 求求你,救命! 这是我的(简单的)Python Web服务,API-Pr
问题内容: 我正在尝试写入,但是,直到我致电,实际上才发送任何数据。即使我设置为false,也仍然不会发送。有人知道为什么吗?API文档中没有任何内容对此进行描述。 URLConnection上的Java API文档:http : //download.oracle.com/javase/6/docs/api/java/net/URLConnection.html Java的关于读取和写入URLC
我有一些数组,如果它们包含类似的值,我想返回这些数组的名称。 我有我的变量,它有多个数组,名字要么是,要么是,要么是。包含的只是变量中某些数组中相同的值。我需要返回数组中包含、和的数组的名称。因此,对于这个示例,我需要返回:。 通过这个函数抛出它们时,我得到一个错误。如何获取返回的数组?
问题内容: 我在课堂上有这个功能: 我尝试使用此函数来调用该函数: 问题是编译器希望它看起来像这样: 为什么第一个会导致错误? 问题答案: Swift 2.0更新 :现在,默认情况下,函数的功能与方法相同,并且对于两种方法而言: 第一个参数没有外部名称;和 其他参数的外部名称与内部名称相同。 除此之外,下面的规则仍然适用,只是速记语法已消失。 这是一个更一般的答案:函数在类之外定义为真函数时以及在
问题内容: 我有这个数组: 是否可以通过知道名称来获取值或特定元素? 像这样的东西: 要么 问题答案: 通常通过数字索引访问数组,因此在您的示例中。如果您知道每个对象的属性都是唯一的,则可以将它们存储在对象而不是数组中,如下所示: 如果您实际上想要一个像您的帖子中那样的对象数组,则可以遍历该数组并在找到具有对象具有所需属性的元素时返回:
问题内容: 我正在尝试通过jQuery ajax调用获取数据。 我的代码如下所示: 我的文件返回的是json格式的数据,但某些文本为Unicode格式。我在我的javascript文件上及其上设置了字符集,但仍然无法访问响应的数据对象。 有任何想法吗? 问题答案: 尝试加入您的ajax调用: