我的代码如下:
var aaData =
ctx.PaymentRates
.Where(x => x.ServiceRateCodeId == new Guid("BBCE42CB-56E3-4848-B396-4656CCE3CE96"))
.Select(x => new
{
Id = x.Id
}).ToList();
它在使用 Json(aaData);
转换时生成以下 JSON:
"aaData":[
{"Id":"ab57fc9d-ffb7-4a12-8c5c-03f36b4ef1fe"},
{"Id":"4c1e9776-5d64-4054-a9c9-0fc8b8b8e8a1"}
etc.
]
但是,我想在值之前返回键,像这样:
"aaData":[
[0] => {"Id":"ab57fc9d-ffb7-4a12-8c5c-03f36b4ef1fe"},
[1] => {"Id":"4c1e9776-5d64-4054-a9c9-0fc8b8b8e8a1"}
etc.
]
编辑:我不确定正确的语法 - 重点是,我只想要数字键。
我如何在 C# 中执行此操作?
最佳答案
JSON 使用隐式 索引——这意味着数组中元素的顺序被保留,因此您可以在检索元素时从元素的顺序推断出“索引” .
如果您需要包含一个“索引”元素,您必须将其作为数组元素的属性:
var aaData =
ctx.PaymentRates
.Where(x => x.ServiceRateCodeId == new Guid("BBCE42CB-56E3-4848-B396-4656CCE3CE96"))
.Select((x, i) => new
{
Index = i,
Id = x.Id
}).ToList();
您的 JSON 应该类似于:
"aaData":[
{"Index":"0", "Id":"ab57fc9d-ffb7-4a12-8c5c-03f36b4ef1fe"},
{"Index":"1", "Id":"4c1e9776-5d64-4054-a9c9-0fc8b8b8e8a1"}
etc.
]
关于c# - 从 C# 返回带有数字键的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21391740/