将KeyValuePair序列化为JSON中的[Key,Value]

时间:2013-03-15 20:16:14

标签: asp.net-mvc json serialization keyvaluepair

我需要使用以下结构返回json:

{"asks": [[PRICE, AMOUNT], ...],
 "bids": [[PRICE, AMOUNT], ...]}

PRICE是十进制的。 AMOUNT是十进制

例如

{"asks":[[7.449,1],[7.4499,6.711]],
 "bids":[[7.40001,5],[7.3325,27.449]]}

我有一个带动作的控制器

public ActionResult GetTrades() 
{
  ///how should I construct the object ? 
  return Json(data, JsonRequestBehavior.AllowGet);
}

我试图返回此对象:

public class OrderBook
{
    public List<KeyValuePair<decimal, decimal>> asks { get; set; }
    public List<KeyValuePair<decimal, decimal>> bids { get; set; }
}

但我得到这样的回应:

{"asks":[{"Key":145.00000,"Value":152.38820689}],
 "bids":[{"Key":145.00000,"Value":3.48965517}]}

任何想法?

2 个答案:

答案 0 :(得分:3)

KeyValuePair替换为List<decimal>decimal[2]

答案 1 :(得分:0)

当您使用相同的数据类型键和值时,可能List是一种可能性,其中每个十进制数组的长度为2。