如何生成JSON字符串数组?

时间:2009-09-06 23:19:33

标签: asp.net-mvc json

尝试获取JSON输出以使用jqGrid'userdata'选项。

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"]}, 
    ] 
}

我试图像这样制作用户数据部分(没有运气);

 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所期望的值。

1 个答案:

答案 0 :(得分:3)

尝试:

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

在JSON表示法中,{}用于对象,[]用于数组。如果它期待花括号中的某些东西,你应该使用这些属性序列化一个对象。