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);
}