1 回答
TA贡献1852条经验 获得超7个赞
出于好奇,我同时尝试了不同的选项,让我分享我测试过的迭代。
我建立了一个小类进行测试:
public class ColoredObject
{
public string key { get; set; }
public string color { get; set; }
}
出于测试目的,创建了一个列表,其中添加了 2 个测试对象:
var list = new List<ColoredObject>()
{
new ColoredObject()
{
key = "Node26",
color = "lightgreen"
},
new ColoredObject()
{
key = "Node25",
color = "lightgreen"
}
};
撇号版本: 然后在 Razor 中创建 JSON 对象:
string nodesWithApostrophe = "[";
foreach (var i in list)
{
nodesWithApostrophe += "{ key: '" + i.key + "', color: '" + i.color + "'},";
}
nodesWithApostrophe += "]";
因此,第一个工作正常并正确记录到控制台的解决方案如下所示:
let jsonObject = @Html.Raw(nodesWithApostrophe);
console.log('testJson with apostrophe', jsonObject);
双引号版本: 我对如何用双引号创建对象也很感兴趣,所以我更改为在 foreach 中转义字符:
string nodesWithDQ = "[";
foreach (var i in list)
{
nodesWithDQ += "{ key: \"" + i.key + "\", color: \"" + i.color + "\"},";
}
nodesWithDQ += "]";
在 JavaScript 中也做同样的事情使其工作:
let jsonObject = @Html.Raw(nodesWithDQ);
console.log('testJson with double quotes', jsonObject);
- 1 回答
- 0 关注
- 130 浏览
添加回答
举报