-1

我正在尝试将jQuery 验证引擎与我的 MVC 项目集成以执行内联验证。我在 jQuery 表单中有一个字段,它正在调用 MVC 控制器并期望 JSON 响应。根据插件作者写的这篇文章...

现在这会将 ajax 中的字段发送到定义的 url,并等待响应,响应需要是按照以下语法以 json 编码的数组:["id1", boolean status]

所以在 php 中你会这样做: echo json_encode($arrayToJs);

如何在 ASP.NET MVC4 中实现这一点?

我当前的控制器看起来像这样。

public JsonResult FunctionName(string fieldValue)
{
        return Json((new { foo = "bar", baz = "Blech" }), JsonRequestBehavior.AllowGet);
}

响应正文显示它返回如下所示的键值对

{"foo":"bar","baz":"Blech"}

如何以预期格式返回 JSON?

4

2 回答 2

2

方括号表示 JSON 对象中的数组。

见这篇文章:http ://www.w3schools.com/json/json_syntax.asp

此测试代码:

return Json(new object[] { "id1", false }, JsonRequestBehavior.AllowGet);

应该返回:

["id1",false]
于 2013-02-19T17:12:04.400 回答
0

如果你想在 json 中返回一个数组,我想你会这样做。然后你可以返回一个字典。由于您传入的匿名类型,您现在在 json 输出中看不到数组是两个键值。

public JsonResult MyMethodName(string name)
{
    IDictionary<string, bool> myDict = LoadDictionaryFromSomewhere();
    return Json(myDict, JsonRequestBehaviour.AllowGet);
}
于 2013-02-19T16:54:18.023 回答