我将2D对象数组转换为javascript,但我遇到了JSON序列化程序的问题。
我的控制器有这个:
object[,] array = new object[,] {{"Name", "Donuts eaten"},
{"Michael", 5},
{"Elisa", 7},
{"Robert", 3},
{"John", 2},
{"Jessica", 6},
{"Aaron", 1},
{"Margareth", 8}};
ViewBag.DataArray = JsonConvert.SerializeObject(array);
我的脚本使用:
var dataArray = '@ViewBag.DataArray';
然而,当脚本运行时,我得到了这个:
var dataArray = '[["Name","Donuts eaten"],["Michael",5],["Elisa",7],["Robert",3],["John",2],["Jessica",6],["Aaron",1],["Margareth",8]]';
任何帮助或替代方法将不胜感激。谢谢。
答案 0 :(得分:2)
当你使用@
符号时,razor将对表达式的结果进行HTML编码,后跟@。如果您不希望对内容进行编码,请使用Html.Raw
方法。
var dataArray = '@Html.Raw(ViewBag.DataArray)';
现在剃刀将产生以下输出。
var dataArray = '[["Name","Donuts eaten"],["Michael",5],["Elisa",7],["Robert",3],
["John",2],["Jessica",6],["Aaron",1],["Margareth",8]]';