我有一个由对象组成的列表,每个对象有5个数据。我需要将该列表转换为json,但是使用序列化将其填充为空json。
有人知道我在做什么错吗?
foreach (DataRow dtRow in dtAlarmas.Rows)
{
String Name = dtRow["Name"].ToString();
String ID = dtRow["ID"].ToString();
String AlarmText = dtRow["AlarmText"].ToString();
String AlarmTimeNoNula = dtRow["AlarmTimeNoNula"].ToString();
lstAlarmasNoTratadas.Add(new Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel(dtRow["Name"].ToString(), Convert.ToInt32(dtRow["ID"]), dtRow["Class"].ToString(), dtRow["AlarmText"].ToString(), dtRow["AlarmTimeNoNula"].ToString()));
}
string sParams = JsonConvert.SerializeObject(lstAlarmasNoTratadas);
转换后的sParams值=“ [{}]”
类Next.DataAux.Alarmas.AlarmaNoTratadaModel
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ondoan.DatosAux.Alarmas
{
public class AlarmaNoTratadaModel
{
private string Name;
private int ID;
private string Class;
private string AlarmText;
private string AlarmaTimeNoNula;
public AlarmaNoTratadaModel(string Name, int ID, string Class, string AlarmText, string AlarmaTimeNoNula)
{
// TODO: Complete member initialization
this.Name = Name;
this.ID = ID;
this.Class = Class;
this.AlarmText = AlarmText;
this.AlarmaTimeNoNula = AlarmaTimeNoNula;
}
public class AlarmaNoTratadasModel
{
public AlarmaNoTratadasModel() { }
public AlarmaNoTratadasModel(String Name, Nullable<System.Int32> ID, String Class, String AlarmText, String AlarmaTimeNoNula)
{
this.Name = Name;
this.ID = ID;
this.Class = Class;
this.AlarmText = AlarmText;
this.AlarmaTimeNoNula = AlarmaTimeNoNula.ToString();
}
public System.String Name { get; set; }
public Nullable<System.Int32> ID { get; set; }
public System.String Class { get; set; }
public System.String AlarmText { get; set; }
public System.String AlarmaTimeNoNula { get; set; }
}
}
}
问题在于,JsonConvert默认情况下不会序列化私有字段。使它们成为公共属性,或添加JsonPropertyAttribute。
[JsonProperty]
private string Name;
[JsonProperty]
private int ID;
[JsonProperty]
private string Class;
[JsonProperty]
private string AlarmText;
[JsonProperty]
private string AlarmaTimeNoNula;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句