📅  最后修改于: 2023-12-03 14:39:22.202000             🧑  作者: Mango
List<string>
转换为 JavaScript在 ASP.NET Core 3.1 中,如果需要将一个 List<string>
对象转换为 JavaScript 的数据格式,可以使用以下方法。
ASP.NET Core 3.1 引入了 System.Text.Json
命名空间,该命名空间提供了将对象序列化为 JSON 格式的功能。可以使用 JsonSerializer.Serialize()
方法将 List<string>
对象转换为 JSON 字符串,然后传递给 JavaScript。
using System.Text.Json;
// 创建 List<string> 对象
List<string> stringList = new List<string> { "Item 1", "Item 2", "Item 3" };
// 将 List<string> 转换为 JSON 字符串
string jsonString = JsonSerializer.Serialize(stringList);
然后,在将 JSON 字符串传递给 JavaScript 的地方,可以使用以下代码:
// 将 JSON 字符串解析为 JavaScript 对象
var jsonObject = JSON.parse('@jsonString');
// 在控制台打印 JavaScript 对象
console.log(jsonObject);
注意:要在 Razor 视图中嵌入 C# 变量,需要使用
@
符号。
如果你使用的是 ASP.NET Core 3.1 以下的版本,或者更喜欢使用 Newtonsoft.Json 库,可以使用 JsonConvert.SerializeObject()
方法将 List<string>
对象转换为 JSON 字符串,然后在 JavaScript 中进行解析。
安装 Newtonsoft.Json 包:
Install-Package Newtonsoft.Json
使用以下代码将 List<string>
对象转换为 JSON 字符串:
using Newtonsoft.Json;
// 创建 List<string> 对象
List<string> stringList = new List<string> { "Item 1", "Item 2", "Item 3" };
// 将 List<string> 转换为 JSON 字符串
string jsonString = JsonConvert.SerializeObject(stringList);
然后,在将 JSON 字符串传递给 JavaScript 的地方,可以使用以下代码:
// 将 JSON 字符串解析为 JavaScript 对象
var jsonObject = JSON.parse('@Html.Raw(jsonString)');
// 在控制台打印 JavaScript 对象
console.log(jsonObject);
注意:为了避免 HTML 编码对 JSON 字符串的影响,在将 JSON 字符串嵌入到 Razor 视图中时,需要使用
Html.Raw()
方法。
以上是将 List<string>
转换为 JavaScript 的两种方法。可以根据个人喜好选择合适的方法。