我正在尝试为 tinymce 拼写检查器编写自定义实现。我需要从我的 ashx 页面返回格式的 JSON 对象{ "words": { "misspelled1": ["suggestion1", "suggestion2"], "misspelled2": ["suggestion1", "suggestion2"] }}其中 mispelled1 和 2 是拼写错误的单词及其各自的建议, words 是 id 所以一个实际的例子是{words:{"wod":["wood","wooden"],"tak":["take","taken"]}}我试过这个public class incorrectWords{ public string word { get; set; } public string[] suggestions { get; set; }}string json = Newtonsoft.Json.JsonConvert.SerializeObject(new { words= new List<incorrectWords>() { new words {word="wod",suggestions = new string[]{ "wood","wooden" } }, new words {word="tak",suggestions= new string[]{ "talk","take" } } } });context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(json,Newtonsoft.Json.Formatting.Indented)); }但是,这添加了属性名称单词和建议,我最终得到以下不是我需要的。"{\"words\":[{\"word\":\"wod\",\"suggestions\":[\"wood\",\"wooden\"]},{\"word\":\"tak\",\"suggestions\":[\"talk\",\"take\"]}]}"在此先感谢您的任何指点。有些帖子似乎表明我需要一个自定义转换器,我想知道设计不正确的Words类是否是一件简单的事情
1 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
如果您想在 JSON 中有键值对,您应该将您的列表映射到字典。
这是您的代码的修改版本,它可以工作:
var words = new List<incorrectWords>() {
new incorrectWords() {word="wod",suggestions = new string[]{ "wood","wooden" } },
new incorrectWords() {word="tak",suggestions= new string[]{ "talk","take" } }
};
var dic = new Dictionary<string, string[]>();
words.ForEach(word =>
{
dic.Add(word.word, word.suggestions);
});
string json = Newtonsoft.Json.JsonConvert.SerializeObject(new {
words = dic
});
context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(json, Newtonsoft.Json.Formatting.Indented));
- 1 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消
