json.netシリアライザーを使用してシリアライズしている辞書があり、現在作成中です
{"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;
}
これを発生させるためにフレーズモデルに適用できるデータ属性はありますか?
私は次のものを見つけましたが、Json.Netで文字列SerializeをKey-Valueディクショナリに返したくありませんか?
アップデート:
次のようにWebAPIコントローラーを拡張しています。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;
}
}