Есть ли способ сохранить ключ как int
при преобразовании списка в словарь, используя JsonConvert.SerializeObject
.
Я вызываю следующий код из моего веб-приложения asp.net mvc:
var jsonString = JsonConvert.SerializeObject(this.Fields.Select(f => new
{
Id = f.Id,
Name = f.Name,
Type = f.Type,
...
}).ToDictionary(x => x.Id));
Приведенный выше код работает хорошо, но он преобразует мое поле Id в строку, а не сохраняет его в исходном типе, т.е. int
. Есть ли способ сохранить его как int
, чтобы мне не приходилось преобразовывать ключ в int
каждый раз, когда мне нужно получить доступ к своему словарю со стороны клиента при использовании javascript.
Я знаю, что мог бы просто написать быструю функцию, чтобы получить соответствующий элемент, и преобразовать только ключ в эту функцию, но я подумал, что спросить, так как сохранение типа ключа в его первоначальном формате кажется более чистым и правильным решением .
Спасибо.