我创建了一个JArray
列表:
JArray branchesJson = new JArray();
然后,当我使用foreach迭代时,我将对象添加到列表中,如:
// Add branch to the json array
branchesJson.Add(new JObject
{
{"name", branch.Name},
{"lat", branchDetails.Lat},
{"long", branchDetails.Long}
});
这一切都是在剃刀上完成的。现在我需要将此输出添加到我的javascript中,该javascript位于底部的相同视图中的单独部分。
@section Scripts {
<script>
/* <![CDATA[ */
jQuery(document).ready(function ($) {
'use strict';
var locations = @branchesJson.ToString();
alert(JSON.stringify(locations));
});
/* ]]> */
</script>
}
然后使用.ToString()
方法得到如下输出:
[
{
"name": "Brugge",
"lat": "51.246701",
"long": "3.200326"
},
{
"name": "Destelbergen",
"lat": "51.052056",
"long": "3.761034"
},
{
"name": "Sint-Niklaas",
"lat": "51.143114",
"long": "4.171444"
},
{
"name": "Terneuzen",
"lat": "51.301069",
"long": "3.848187"
},
{
"name": "Vlissingen",
"lat": "51.472778",
"long": "3.592411"
}
]
这会在错误控制台中出现错误。
当我使用替换功能.Replace(""", "\"")
时,它仍向我显示"
而不是"
。
答案 0 :(得分:3)
你应该像这样使用Html.Raw
:
var locations = @Html.Raw(branchesJson.ToString());
Here there is some documentation:
在HtmlString实例中包装HTML标记,以便对其进行解释 作为HTML标记。