我有一个JavaScript网格库(它在页面上创建一个表),它接受JavaScript数组作为输入,以便在网格中呈现。但是,我不确定如何将Linq到SQL查询(针对Server数据库)转换为只包含值的JavaScript数组。
我尝试过这样做,但是它在JSON键中包含了表列名(而且我也不想要JSON,我想要一个JavaScript字符串数组,除非可以转换为数组?):
JsonConvert.SerializeObject(query)我需要生成的格式示例:
[1,2,3],[4,5,6]环境:.NET Core3.1
编辑:下面是我目前得到的一个示例,它返回了不太理想的JSON (由于查询结果太大,使用一个用于size元素的JSON键将几乎是查询大小的两倍):
器件表
ID Name
1 iPhone7
2 iPhone8
3 iPhone9需要数组(注:没有列名)
[1, "iPhone7"],[2, "iPhone8"],[3, "iPhone9"]控制器方法中的当前C#代码(当前每个元素返回不需要的密钥)
var query = db.Devices;
var formattedResult = JsonConvert.SerializeObject(query);
return Ok(formattedResult);发布于 2022-03-02 00:10:01
从技术上讲,你可以这样做:
var query = db.Devices.AsEnumerable()
.Select(d => new object[]{d.ID, d.Name});
var formattedResult = JsonConvert.SerializeObject(query);
return Ok(formattedResult);但是,请求另一端的代码将不得不将所有这些数组转换回对象。
为了优化网络流量的大小,像这样使您的模型复杂化是很不值得的。如果您正在从线路上提取足够多的项,使其成为性能问题,则可能会遇到各种其他性能问题。我首先考虑其他选项,比如实现分页。
发布于 2022-03-02 00:01:27
你试过了吗
var query = db.Devices.ToList();
var array = JArray.FromObject(query);
return Ok(formattedResult)https://stackoverflow.com/questions/71315293
复制相似问题