2009-09-06 215 views
0

尝试获取JSON输出以使用jqGrid的'userdata'选项。如何生成JSON字符串数组?

在jqGrid PDF中给出的例子是产生一个像这样的JSON结果;

{ total: "xxx", 
    page: "yyy", 
    records: "zzz", 
    userdata: {totalinvoice:240.00, tax:40.00}, 
    rows : [ 
     {id:"1", cell:["cell11", "cell12", "cell13"]}, 
     {id:"2", cell:["cell21", "cell22", "cell23"]}, 
    ] 
} 

我试图让userdata部分像这样(没有运气)。

var jsonData = new 
{ ... 
    userdata = new string[] {"totalinvoice:240.00", "tax:40.00" } 
    ...} 
return Json(jsonData); 

但是,这回来的JSON结果看起来像这样;

userdata":["totalinvoice:240.00","tax:40.00"] 

我相信这是一件小事,但我似乎无法弄清楚如何获得System.Web.JSON.JsonResult调用返回的值由jqGrid的预期。

回答

3

尝试:

var jsonData = new 
{ ... 
    userdata = new { totalinvoice = 240.00, tax = 40.00 } 
    ...} 
return Json(jsonData); 

在JSON符号,{}为对象,[]是用于阵列。如果期望花括号中的内容,则应该使用这些属性序列化对象。

+0

woot!正确的,它的工作。 – CmdrTallen 2009-09-06 23:56:39