简体   繁体   English

反序列化列表 <Object> C#

[英]Deserialize List<Object> C#

I want to assign the List<Object> I recieve from this method to a new List<MyClass> 我想将我从此方法接收的List<Object>分配给新的List<MyClass>

    public List<Object> Deserialize(string path)
    {
        IFormatter seri = new BinaryFormatter();

        Stream str = new FileStream(path, FileMode.Open, FileAccess.Read);
        List<Object> Lista = (List<Object>)(seri.Deserialize(str));
        str.Close();
        return Lista;
    }

My intention is to call this method with different Classes and then cast it back to the previous type, but I get an error trying to cast it back afterwards. 我的意图是使用不同的类调用此方法,然后将其强制转换回以前的类型,但是在尝试将其强制转换后出现错误。

You can try using Generics : 您可以尝试使用Generics

public List<T> Deserialize<T>(string path)
{
    IFormatter seri = new BinaryFormatter();

    Stream str = new FileStream(path, FileMode.Open, FileAccess.Read);
    List<T> Lista = (List<T>)(seri.Deserialize(str));
    str.Close();
    return Lista;
}
public List<T> Deserialize<T>(string path)
{
   return JsonConvert.DeserializeObject<List<T>>(path);
}

反序列化 json 到 List<object> 在 C#<div id="text_translate"><p> 我有以下 JSON 字符串</p><pre> { "data": [ { "symbol": "1COV.GE", "exposure": "0", "makerExposure": "-2028", "takerExposure": "2028", "makerPnl": "447.6688", "takerPnl": "-447.6688", "makerPositions": [ { "name": "IB_001", "position": "-2028", "vwap": "47.41", "pnl": "447.6688" } ], "takerPositions": [ { "name": "MT5_1", "position": "2028", "vwap": "47.41", "pnl": "-447.6688" } ] }, { "symbol": "A", "exposure": "0", "makerExposure": "-10", "takerExposure": "10", "makerPnl": "-4.6", "takerPnl": "4.6", "makerPositions": [ { "name": "IB_002", "position": "-10", "vwap": "136.78", "pnl": "-4.6" } ], "takerPositions": [ { "name": "MT5_1", "position": "10", "vwap": "136.78", "pnl": "4.6" } ], "total": 2 } }</pre><p> 我的目标是将它从节点“数据”序列化为 object 的列表:我有 map 数据节点字段的类:</p><pre> public class Positions { public string name { get; set; } public string position { get; set; } public string vwap { get; set; } public string pnl { get; set; } } public class ExPositions { public string symbol { get; set; } public string exposure { get; set; } public string makerExposure { get; set; } public string takerExposure { get; set; } public string makerPnl { get; set; } public string takerPnl { get; set; } public OZPositions makerPositions { get; set; } public OZPositions takerPositions { get; set; } }</pre><p> 您是否知道如何将节点“数据”转换为“Expositions”对象列表,例如。 列表</p><p>我已经这样做了,但到目前为止它会引发错误</p><pre>var positions = JsonSerializer.Deserialize<ExPositions>(json_string);</pre></div></object> - Deserialize json to List<object> in C#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用列表将 XML 反序列化为 C# 对象 - Deserialize XML into C# object with list 在C#中用牛顿反序列化json对象列表 - Deserialize json object list with newton in c# C#将JSON反序列化为对象列表 - c# deserialize json to object list C#反序列化对象错误的JSON列表 - c# Deserialize JSON list of object error 将列表的 JSON 字符串反序列化为 c# object - Deserialize JSON string for list to c# object 反序列化 json 到 List<object> 在 C#<div id="text_translate"><p> 我有以下 JSON 字符串</p><pre> { "data": [ { "symbol": "1COV.GE", "exposure": "0", "makerExposure": "-2028", "takerExposure": "2028", "makerPnl": "447.6688", "takerPnl": "-447.6688", "makerPositions": [ { "name": "IB_001", "position": "-2028", "vwap": "47.41", "pnl": "447.6688" } ], "takerPositions": [ { "name": "MT5_1", "position": "2028", "vwap": "47.41", "pnl": "-447.6688" } ] }, { "symbol": "A", "exposure": "0", "makerExposure": "-10", "takerExposure": "10", "makerPnl": "-4.6", "takerPnl": "4.6", "makerPositions": [ { "name": "IB_002", "position": "-10", "vwap": "136.78", "pnl": "-4.6" } ], "takerPositions": [ { "name": "MT5_1", "position": "10", "vwap": "136.78", "pnl": "4.6" } ], "total": 2 } }</pre><p> 我的目标是将它从节点“数据”序列化为 object 的列表:我有 map 数据节点字段的类:</p><pre> public class Positions { public string name { get; set; } public string position { get; set; } public string vwap { get; set; } public string pnl { get; set; } } public class ExPositions { public string symbol { get; set; } public string exposure { get; set; } public string makerExposure { get; set; } public string takerExposure { get; set; } public string makerPnl { get; set; } public string takerPnl { get; set; } public OZPositions makerPositions { get; set; } public OZPositions takerPositions { get; set; } }</pre><p> 您是否知道如何将节点“数据”转换为“Expositions”对象列表,例如。 列表</p><p>我已经这样做了,但到目前为止它会引发错误</p><pre>var positions = JsonSerializer.Deserialize<ExPositions>(json_string);</pre></div></object> - Deserialize json to List<object> in C# 如何将json反序列化为C#列表对象 - How to deserialize json into C# List Object 将json数组反序列化为c#列表对象 - Deserialize json array to c# list object 反序列化对象 C# - Deserialize an Object C# C# 反序列化对象 - C# Deserialize Object
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM