Articles of json

Json.net将数字属性序列化为字符串

我正在使用JsonConvert.SerializeObject来序列化模型对象。 服务器期望所有字段都是字符串。 我的模型对象具有数字属性和字符串属性。 我无法向模型对象添加属性。 有没有办法将所有属性值序列化,就好像它们是字符串一样? 我必须只支持序列化,而不是反序列化。

应用程序中的SQLite文件版本兼容性

我有一个C#.NET应用程序(一种复杂的计算应用程序),其中用户输入数据,处理后的信息使用JSON序列化和EF保存到SQLite文件中。 必要时可以将相同内容加载到我们的应用程序中。 应用程序在开发过程中经历了很多变化,并且类也被修改。 因此,以前在SQLite文件中保存的序列化对象与较新的序列化对象不同。 我想为旧文件提供兼容性,以便可以在新应用程序中打开它。 简单来说,使用JOL将带有bool作为成员的.NET类“类XYZ”序列化,并在SQLite文件中保存为BLOB。 稍后在较新版本的app中,“类XYZ”的bool成员被修改为int。 如何使用bool类型将以前保存的文件反序列化到新的应用程序中? 在整个版本中,SQLite表结构也有变化。 如何在.NET中实现这一目标?

解析vcard json C#

我想使用Json.NET解析vcard RFC 7095: [“vcard”, [ [“version”, {}, “text”, “4.0”], [“fn”, {}, “text”, “John Doe”], [“gender”, {}, “text”, “M”], [“categories”, {}, “text”, “computers”, “cameras”], … ] ] 我尝试使用FormatTypeFormater,但我无法validationjson。

覆盖Render方法的问题

我想序列化Web表单的所有输出(从.NET 3.5上的aspx和aspx.cs)到JSON。 所以,这是我的代码: protected string myText; protected void Page_Load(object sender, EventArgs e) { myText = “This is my whole codeA link”; } protected internal override void Render(HtmlTextWriter writer) { var serializer = new JavaScriptSerializer(); Response.Write(Request[“callback”] + serializer.Serialize(writer.ToString())); } 但我得到这个错误: CS0507: ‘moduli_Prova.Render(System.Web.UI.HtmlTextWriter)’: cannot change access modifiers when overriding ‘protected’ inherited member ‘System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)’ 我哪里错了? 这是正确的方法吗?

使用DataContractJsonSerializer在.net中反序列化json base64二进制文件

嘿,我有一个问题,使用wcf datacontract将base64 json反序列化回.net对象…. 我有这个反序列化: public static T FromJSON( this string json ) { using ( MemoryStream ms = new MemoryStream(ASCIIEncoding.Default.GetBytes(json)) ) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); return (T)ser.ReadObject(ms); } } 并且…我的模型课中有这个…… [DataMember] [Column(AutoSync = AutoSync.Always, DbType = “rowversion not null”, CanBeNull = false, IsDbGenerated = true, IsVersion = true, UpdateCheck = UpdateCheck.Never)] public byte[] […]

是否可以在SignalR集线器方法中返回预编码的JSON字符串?

在MVC项目中,我在类似于此的集线器上有一个方法: public string Foo() { return DoCrazyThingThatReturnsJson(); } 不幸的是,SignalR(或其他东西)接受编码的JSON字符串并愉快地对其进行编码,然后将其返回,因此浏览器就像LOLWTF。 有没有办法跳过第二次编码?

处理在C#中包含不同类型的JSON字段

我必须阅读一个JSON文档,它有一个可以包含不同类型的字段。 例如,可以是long或整数数组。 我知道我需要使用自定义反序列化器,但不确定如何。 在下面的示例中,xx字段有时是long,否则是一个int数组。 任何有关如何处理此问题的帮助表示赞赏。 static void JsonTest() { const string json = @” { ‘Code’: ‘XYZ’, ‘Response’: { ‘Type’ : ‘S’, ‘Docs’: [ { ‘id’ : ‘test1’, ‘xx’ : 1 }, { ‘id’ : ‘test2’, ‘xx’ : [1, 2, 4, 8] }, ] } }”; A a; try { a = JsonConvert.DeserializeObject(json); } catch( […]

.NET WebApi如何防止“$ ref”:JSON的“x”输出

我正在使用Web Api和Entity Framework,我有一个名为Gift的控制器,当客户端GET是API我通过使用entity framework从DB获取所有礼物并将其作为JSON返回 这是我的控制器function public List Get() { return GiftService.GetIncludeAndActive(); } 这是服务function public List GetIncludeAndActive() { return dbSet.Include(“GiftCategory”).Where(x => x.Status == Model.Enums.GiftStatus.Active).OrderByDescending(x => x.Featured).ThenBy(x => x.Price).ToList(); } 这是礼品模特 public class Gift { public Gift() { this.CartItems = new List(); } public int ID { get; set; } public string GiftName { get; set; } […]

解析在.net中以JSONforms返回的日期?

嗨,我收到来自API的响应作为JSON并将其加载到我的应用程序中。 除了发布特定项目的日期之外,一切都很好。 日期返回为我之前从未使用过的数字: ‘date_created’ : 1279643054 我尝试使用普通的DateTime.Parse()没有运气。 有谁知道如何解析这个,或者如果这个格式的名称是什么,所以我可以做进一步的研究? 谢谢。

asp.net mvc核心如何返回Json查询

首先,我知道如何通过执行此操作返回Json查询 public JsonResult streams() { using (var conn = new NpgsqlConnection(Connectionstring)) { conn.Open(); var credentials = conn.Query(“select id,name from streams”).ToList(); ViewData[“Message”] = “Your application description page.”; conn.Close(); return Json(credentials); } } 上面的代码从数据库中为我返回Json,但是现在我实际上是通过将查询更改为此来从SQL代码返回Json var credentials = conn.Query(“select SELECT array_to_json(array_agg(t)) from (select id,name from streams) t”).ToList(); 新的查询正常工作,但它在Controller中返回null,因为我现在这样 public JsonResult streams() { using (var conn = new NpgsqlConnection(Connectionstring)) […]