【发布时间】:2014-03-25 14:55:16
【问题描述】:
我应该在 JSON 中列出一个设置列表,我从数据库中获取并存储在 Tuple<string, string> 中。
我可以打印它,但它没有按应有的方式显示:
[{
"Item1": "setting1Name",
"Item2": "setting1Value"
}, {
"Item1": "testt",
"Item2": "testt"
}, {...
}]
输出应该是:
[
{"setting1Name":"setting1Value"},
{"setting2Name":"setting2Value"},{...}
]
如何将元组序列化为 JSON?
控制器:
[GET("Settings")]
public async Task<ActionResult> Settings(string userKey)
{
if ((await UserManager.FindByIdAsync(userKey)) == null)
return new HttpUnauthorizedResult();
List<Tuple<string, string>> settings = new List<Tuple<string, string>>();
var userSettings = settingRepository.Get(new Guid(userKey));
for (int i = 0; i < userSettings.Count; i++)
{
var tuple = Tuple.Create<string, string>(
userSettings[i].Name.ToString(),
userSettings[i].Value.ToString()
);
settings.Add(tuple);
}
return Json(settings,JsonRequestBehavior.AllowGet);
}
数据库存储方法:
public List<Setting> Get(Guid userId)
{
return _context.Settings.Where(s => s.UserId == userId).ToList();
}
【问题讨论】:
-
你能告诉我们你的看法吗?我认为你想更深一层,使用循环。
-
这是一个 API,我们暂时不使用视图,我正在使用 Rest Console 进行测试
-
是因为Tuple的序列化方式,检查这个:stackoverflow.com/questions/16101115/…
-
看看这个,它可能会有所帮助:forums.asp.net/t/…
-
好吧,不得不说我没完全看懂。。我今晚再看一遍,稍作休息,可能会容易些。但无论如何,谢谢你
标签: c# .net asp.net-mvc json