[英]How to Convert List<Object> to Json | C#
I have a list made up of objects, that each object has 5 data.我有一个由对象组成的列表,每个 object 有 5 个数据。 I need to convert that list to a json, but using serialize it fills me out the empty json.
我需要将该列表转换为 json,但使用序列化它会填满空的 json。
Does anyone know what I may be doing wrong?有谁知道我可能做错了什么?
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 value after convert = "[{}]"转换后的 sParams 值 = "[{}]"
Class Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel Class Ondoan.DatosAux.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; }
}
}
}
The issue is that JsonConvert doesn't serialize private fields by default.问题是 JsonConvert 默认情况下不会序列化私有字段。 Either make them public properties or add the JsonPropertyAttribute.
将它们设为公共属性或添加 JsonPropertyAttribute。
[JsonProperty]
private string Name;
[JsonProperty]
private int ID;
[JsonProperty]
private string Class;
[JsonProperty]
private string AlarmText;
[JsonProperty]
private string AlarmaTimeNoNula;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.