5
我有我使用的json.net串行序列化的字典,它是目前生產使Web API連載字典屬性
{"phrases":[{"Key":"my-key1","Value":"blah"},{"Key":"my-key2","Value":"blah2"}]}
但是我希望它輸出
{"phrases":["my-key1":"blah"},{"my-key2":"blah2"}]}
我的模型看起來像
public class Phrases
{
public Dictionary<string, string> phrases;
}
有沒有我可以向數據屬性引起這種情況發生的短語模型?
我發現下面的,但不希望被返回一個字符串Serialize into a key-value dictionary with Json.Net?
UPDATE:
我擴展Web API控制器如下,如果我用JsonConvert.SerializeObject()我得到正確的序列化,但是我會有一個字符串返回。
public class PhraseController : ApiController
{
private IApplicationModel applicationModel;
public Phrases Get(string id)
{
var locale = new CultureInfo(id).LCID;
var phrases = applicationModel.Phrases.Where(x => x.Locale = locale).ToDictionary(x => x.Name, y => y.Value);
return new Phrases() { phrases = phrases };
}
public PhraseController(IApplicationModel applicationModel)
{
this.applicationModel = applicationModel;
}
}
你使用哪種json.net版本?因爲''Newtonsoft.Json「version =」4.0.8「'產生這個:'{」phrases「:{」my-key1「:」blah「,」my-key2「:」blah2「}}'' JsonConvert.SerializeObject(短語);' – nemesv
@nemesv已更新我的問題 – Tom
我想知道如果我的問題是它仍然使用DataContractJsonSerializer而不是json.net – Tom