将字典序列化为json

时间:2011-12-08 13:28:37

标签: c# json

我的词典定义为:

 Dictionary<string, object> d = new Dictionary<string, object>();

我用各种键和值填充它,并使用Newton.Json库将其作为Json发送到Web客户端:

JsonConvert.SerializeObject(d);

其余服务的定义方式如下:

[Description("Test method")]
[WebGet( ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
public string Test()

但是我在客户端遇到了一个有问题的json:

  

\ “AdditionalPortfolioCurrencyID \”:\ “GBP \”,\ “BaseCurrency \”:\ “USD \”,\ “TermCurrency \”:\ “JPY \”,\ “PortfolioName \”:\ “\”, \ “书\”:\ “\” \ “蝴蝶\”:0.0,\ “BuySell \”:\ “购买\”,\ “DealId \”:\ “1 \”}

在客户端extjs商店中接收此类json时,不会显示数据

我想收到以下json

{ "AdditionalPortfolioCurrencyID": "GBP", "BaseCurrency": "USD", "TermCurrency": "JPY", "PortfolioName": "", "Book": "", "Butterfly": 0, "BuySell": "Buy", "DealId": "1" }

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

“有问题”意味着最初缺少初始'{'或'\'分隔符? 你从哪里得到输出?这是否是预期的全身,除了缺少'{',或者你得到更多的截断?

除此之外,它是有效的JSON ......

{     “AdditionalPortfolioCurrencyID”:“GBP”,     “BaseCurrency”:“USD”,     “TermCurrency”:“日元”,     “PortfolioName”:“”,     “书”:“”,     “蝴蝶”:0,     “BuySell”:“买”,     “DealId”:“1” }