bfl*_*mi3 5 c# json javascriptserializer razor
Json.Encode()Helper 是否使用JavaScriptSerializer该类将字符串编码为json?
我正在使用循环引用异常,Json.Encode(Model)即使我正在序列化的类属性具有该[ScriptIgnore]属性.
我唯一的猜测是,Json.Encode()帮助器可能不会使用JavaScriptSerializer序列化为json,但我无法在msdn上找到任何文档.
@Html.Raw(Json.Encode(Model))
Run Code Online (Sandbox Code Playgroud)
以下是其中一个具有不应序列化的属性的模型的示例...
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Web.Script.Serialization;
namespace RobotDog.Entities {
public class Character {
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[MaxLength(200)]
public string Name { get; set; }
public virtual Person Person { get; set; }
[ScriptIgnore]
public virtual Movie Movie { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
Json.Encode()Helper是否使用JavaScriptSerializer类将字符串编码为json?
是.
从源代码:
private static readonly JavaScriptSerializer _serializer = Json.CreateSerializer();
public static string Encode(object value)
{
DynamicJsonArray dynamicJsonArray = value as DynamicJsonArray;
if (dynamicJsonArray != null)
return Json._serializer.Serialize((object) (object[]) dynamicJsonArray);
else
return Json._serializer.Serialize(value);
}
Run Code Online (Sandbox Code Playgroud)
这里JavaScriptSerializer是System.Web.Script.Serialization.JavaScriptSerializer
也协助你的问题看到这个线程
| 归档时间: |
|
| 查看次数: |
4348 次 |
| 最近记录: |