C# 使用Newtonsoft序列化模型列表
所以我从一个文件中读取一些参数,并将它们设置为我的模型列表,如下所示C# 使用Newtonsoft序列化模型列表,c#,json,serialization,C#,Json,Serialization,所以我从一个文件中读取一些参数,并将它们设置为我的模型列表,如下所示 List<UploadModel> results = new List<UploadModel>(); using (var dbfDataReader = new DbfDataReader.DbfDataReader(dbfPath, options)) { while (dbfDataRead
List<UploadModel> results = new List<UploadModel>();
using (var dbfDataReader = new DbfDataReader.DbfDataReader(dbfPath, options))
{
while (dbfDataReader.Read())
{
UploadModel nga = new UploadModel();
nga.OPERATOR_OBJECTID = dbfDataReader.GetInt32(0);
nga.SETTLEMENT_CODE = dbfDataReader.GetString(1);
nga.TECHNOLOGY_CODE = dbfDataReader.GetString(2);
nga.UPLOAD_SPEED_CLASS_CODE = dbfDataReader.GetString(3);
nga.DOWNLOAD_SPEED_CLASS_CODE = dbfDataReader.GetString(4);
nga.DATA_CATEGORY_QOS_CODE = dbfDataReader.GetString(5);
nga.SHAPE = dbfDataReader.GetString(6);
nga.SHAPE = "POLYGON ((" + nga.SHAPE + "))";
results.Add(nga);
}
};
但是如果我上传一个包含多行的文件,它就无法将模型列表序列化为json。
我尝试了类似这样的string[]json
但是我得到了一个异常,我无法将类型string转换为string[]
我还尝试了List models=JsonConvert.SerializeObject…
,但这也不起作用
我有这个列表,我只是不知道如何正确地序列化它。有什么建议吗?:) 这将正确地将其序列化为一个字符串中的对象列表。。。i、 e.json将是:
[ { // object 1 }, { //object 2 } ]
你可以把它拿回来
var list = JsonConvert.Deserialize<IEnumerable<UploadModel>>(json);
var list=JsonConvert.Deserialize(json);
如果需要一个列表,每个序列化对象包含一个字符串,可以执行以下操作:
var allObjectsJsons = new List<String>();
// In your loop
while (reader.Read()){
UploadModel nga = new UploadModel();
nga.OPERATOR_OBJECTID = dbfDataReader.GetInt32(0);
... etc
var oneObjectJson = JsonConvert.Seriailize(nga);
allObjectsJsons.Add(oneObjectJson);
}
var allObjectsJsons=new List();
//在你的圈子里
while(reader.Read()){
UploadModel nga=新的UploadModel();
nga.OPERATOR_OBJECTID=dbfDataReader.GetInt32(0);
等
var oneObjectJson=JsonConvert.Seriailize(nga);
Add(oneObjectJson);
}
我不太清楚发生了什么,它一直抛出异常,所以我很生气,重新启动了电脑,然后走开了。重新启动后,相同的代码工作。VS一定是被窃听了什么的,不管怎样,我都会把这个标记为答案:)
var allObjectsJsons = new List<String>();
// In your loop
while (reader.Read()){
UploadModel nga = new UploadModel();
nga.OPERATOR_OBJECTID = dbfDataReader.GetInt32(0);
... etc
var oneObjectJson = JsonConvert.Seriailize(nga);
allObjectsJsons.Add(oneObjectJson);
}