C# 将对象列表转换为json数组
我有一个包含电子邮件地址和状态数据成员的类对象列表。我正在尝试将它们转换为json,确保数组中有“operations”一词 这是我的班级:C# 将对象列表转换为json数组,c#,json,serialization,C#,Json,Serialization,我有一个包含电子邮件地址和状态数据成员的类对象列表。我正在尝试将它们转换为json,确保数组中有“operations”一词 这是我的班级: class MyClass { public string email {get; set; } public string status { get; set; } } 这是我当前的代码(不是建筑): EDIT1 我应该提到的是,我得到的数据来自数据库。我正在从数据库中反序列化JSON,并以几种不同的方式使用数据,因此我无法更改我的类的
class MyClass
{
public string email {get; set; }
public string status { get; set; }
}
这是我当前的代码(不是建筑):
EDIT1
我应该提到的是,我得到的数据来自数据库。我正在从数据库中反序列化JSON,并以几种不同的方式使用数据,因此我无法更改我的类的成员名称。我相信这将满足您的需要。如果可能,您必须更改类属性名称-
class MyClass
{
public string email_address { get; set; }
public string status { get; set; }
}
List<MyClass> data = new List<MyClass>() { new MyClass() { email_address = "email1@email.com", status = "good2go" }, new MyClass() { email_address = "email2@email.com", status = "good2go" } };
var json = JsonConvert.SerializeObject(new
{
operations = data
});
class-MyClass
{
公共字符串电子邮件地址{get;set;}
公共字符串状态{get;set;}
}
列表数据=新列表(){new MyClass(){email_address=”email1@email.com,status=“good2go”},新MyClass(){email_address='email2@email.com,status=“good2go”};
var json=JsonConvert.SerializeObject(新
{
操作=数据
});
您可以尝试以下方法:
using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(data);
class-MyClass
{
公共字符串电子邮件地址{get;set;}
公共字符串状态{get;set;}
}
列表数据=新列表(){new MyClass(){email_address=”email1@email.com,status=“good2go”},新MyClass(){email_address='email2@email.com,status=“good2go”};
//连载
var json=JsonConvert.serialized对象(数据);
//反序列化
var jsonToList=JsonConvert.DeserializeObject(json);
下面是简单的代码
JArray.FromObject(对象列表)
你到底得到了什么?为什么你用匿名对象来烦自己?改为使用datacontrat或name attribute@Arpit我得到的最接近的结果是相同的输出,在数组之前没有操作字符串。经过一些调整,这就是我使用的解决方案。谢谢,非常感谢。如果一开始我既不需要数据也不需要操作,那怎么办?@hafizz如果一开始你不需要“操作”,只需执行:
var json=JsonConvert.SerializeObject(操作)
class MyClass
{
public string email_address { get; set; }
public string status { get; set; }
}
List<MyClass> data = new List<MyClass>() { new MyClass() { email_address = "email1@email.com", status = "good2go" }, new MyClass() { email_address = "email2@email.com", status = "good2go" } };
var json = JsonConvert.SerializeObject(new
{
operations = data
});
using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(data);
class MyClass
{
public string email_address { get; set; }
public string status { get; set; }
}
List<MyClass> data = new List<MyClass>() { new MyClass() { email_address = "email1@email.com", status = "good2go" }, new MyClass() { email_address = "email2@email.com", status = "good2go" } };
//Serialize
var json = JsonConvert.SerializeObject(data);
//Deserialize
var jsonToList = JsonConvert.DeserializeObject<List<MyClass>>(json);