无法在C#中反序列化JSON结果。输入字符串格式错误

aceventura

我正在尝试将json输出反序列化为C#对象。JSON结果:

{"order":{"commission":3.490000,"cost":4.490000,"duration":"day","extended_hours
":false,"fees":0.000000,"class":"equity","price":1.000000,"quantity":1.000000,"r
equest_date":"2013-11-26T09:43:17.118Z","result":true,"side":"buy","status":"ok"
,"symbol":"DIS","type":"limit"}}

我从JSON派生的类:

    public class Rootobject
{
    public Order Order { get; set; }
}

public class Order
{
    public float commission { get; set; }
    public float cost { get; set; }
    public string duration { get; set; }
    public bool extended_hours { get; set; }
    public int fees { get; set; }
    public string _class { get; set; }
    public int price { get; set; }
    public int quantity { get; set; }
    public DateTime request_date { get; set; }
    public bool result { get; set; }
    public string side { get; set; }
    public string status { get; set; }
    public string symbol { get; set; }
    public string type { get; set; }
}

用于反序列化的代码(来自Newtonsoft的JSON.NET):

 Rootobject ord = JsonConvert.DeserializeObject<Rootobject>(responsebody);

我收到以下错误。

 Unhandled Exception: System.FormatException: Input string was not in a correct format.
   at Newtonsoft.Json.Utilities.ConvertUtils.Int32Parse(Char[] chars, Int32 start, Int32 length)
   at Newtonsoft.Json.JsonTextReader.ParseNumber()
   at Newtonsoft.Json.JsonTextReader.ParseValue()
   at Newtonsoft.Json.JsonTextReader.ReadInternal()
   at Newtonsoft.Json.JsonReader.ReadAsInt32Internal()
   at Newtonsoft.Json.JsonTextReader.ReadAsInt32()
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(Jso
nReader reader, JsonContract contract, Boolean hasConverter)

我试过将反序列化的结果保存到工作正常的“动态”对象中。但是我不想使用动态对象来映射字段。

请指教。

注意:第三方API也会发送一个名为“ class”的字段。当我尝试直接调用该字段时遇到编译时错误,我该如何称呼它。

杰克·休斯

你有fees产权的Order定义为类int,但在JSON文本是0.00000,即floatdouble我认为您可能需要将该fees属性设置为float,以便正确解析它。pricequantity属性的外观也相同

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从MongoDb C#中的BsonType ObjectId反序列化字符串

从JSON字符串获取特定字段而无需在C#中反序列化

JSON字符串反序列化到C#列表中

在AWS Lambda(C#)中反序列化嵌套的JSON字符串

C#:如何反序列化json字符串以获得与webmethod参数相同的结果?

在Android中反序列化JSON字符串

如何从文件输入中反序列化JSON字符串

在C#中使用Newtonsoft.JSON努力反序列化JSON字符串

使用Newtonsoft.JSON用C#反序列化Json字符串

C#使用以字符串开头的键名反序列化JSON

C# API 调用:JSON 字符串到类属性(反序列化等)

將 JSON 字符串反序列化為多個 C# 對象

如何反序列化JSON字符串,以便可以在C#中循环播放?

无法将带有JSON内容的字符串反序列化为C#对象

用C#中的元组键反序列化字符串

在通用方法C#中反序列化字符串

当根节点是C#中的字符串时,如何反序列化XML响应

在 c# 中反序列化时如何忽略 JSON 字符串中的特定字段?

无法在 C# 中反序列化 JSON 响应

对C#中的撇号字符串进行Newtonsoft JSON反序列化时出错

Json.Net 反序列化字符串中的 JSON 字符串

无法从 C# 中的 IMGUR API 反序列化当前的 JSON 对象错误

Json反序列化器或Regex或Json解析以在C#中转换Json字符串

JSON解析错误:无法从字符串反序列化类型为java.time.LocalDateTime的值

无法反序列化完整字符串

无法反序列化XML字符串

Hazelcast流无法反序列化字符串

如何防止在C#中反序列化期间初始化JSON字符串中不存在的属性?

php ads中的反序列化函数对结果字符串有额外的斜线