如何在不转换为json的情况下将C#数组用于javascript数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不转换为json的情况下将C#数组用于javascript数组?相关的知识,希望对你有一定的参考价值。
我有一个C#数组,其中包含C#模型列表:
public class AlertInfo
{
public long Id { get; set; }
public string Message { get; set; }
}
我将C#的数组转换为json并在javascript中使用,如下所示:
JavaScriptSerializer _serializer = new JavaScriptSerializer();
string result = _serializer.Serialize(myList);
在javascript中:
jQuery.parseJSON('<%= result %>')
当Message
在jQuery.parseJSON方法中包含双引号时抛出异常(例如Message是
你好,世界”
)
有没有办法处理这个错误或以另一种方式将C#数组传递给javascript数组?
您可以使用htmlEncode函数。
示例代码:
string text = "you & me > them"; // 1
// Replace > with >
string htmlEncoded =Server.HtmlEncode(text); // 2
// Now has the > again.
string original =Server.HtmlDecode(htmlEncoded); // 3
输出:
Step 1: Before encoding has occurred.
String: you & me > them
Step 2: The string is encoded for HTML.
String: you & me > them
Step 3: String is converted back from HTML.
String: you & me > them
或者您可以在JavaScript端使用此方法。
代替
jQuery.parseJSON('<%= result %>')
试试吧
<%= result %>
例如它可能是像var myVariable = <%= result %>
这样的声明的一部分
由于序列化器已经生成了JSON,而JSON是JavaScript Object Notation,因此当它是JavaScript语句的一部分时,它可以直接解释为JavaScript变量。这意味着您应该能够直接将其注入JavaScript代码中。它已经是JSON了,所以不需要解析它(好像它是一个字符串)。
以上是关于如何在不转换为json的情况下将C#数组用于javascript数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不将 LocalDateTime 字段转换为扩展的 json 对象的情况下将 java 对象转换为简单的 json 字符串?
如何在不清空 HTMLCollection 的情况下将其转换为数组?
Postgresql:如何在不使用中间 hstore 的情况下将键值表转换为 json
Jackson 如何在不强制转换的情况下将 JsonNode 转换为 ArrayNode?