Json.网络问题

本文关键字:问题 网络 Json | 更新日期: 2023-09-27 18:01:52

我试图在c#中序列化一个简单的对象,发送它,然后在另一端反序列化它。前两部分似乎工作得很好,但是当我尝试执行:

ReturnItem jsonval = JsonConvert.DeserializeObject<ReturnItem>(result);

我得到:

07-08 11:41:15.519 I/MonoDroid(2856): Newtonsoft.Json.JsonSerializationException:将值"{"Val1":-1.0,"Val2":-1.0,"Val3":-1.0,"Val4":-1.0}"转换为类型" AndroidDemo.ReturnItem "时出错。路径",第一行,位置104。——>系统。无法从系统强制转换或转换。String to AndroidDemo.ReturnItem.

作为参考,ReturnItem看起来像:

public class ReturnItem
{
    public double Val1{ get; set; }
    public double Val2{ get; set; }
    public double Val3{ get; set; }
    public double Val4{ get; set; }
}

result是一个字符串,看起来像:

"{'"Val1 '":-1.0,'"Val2 '":-1.0,'"Val3 '":-1.0,'"Val4 '":-1.0}"

编辑:这是我最初序列化ReturnItem的方式。

ReturnItem value = new ReturnItem();
value.Val1= -1;
value.Val2= -1;
value.Val3= -1;
value.Val4= -1;
return JsonConvert.SerializeObject(value);

Json.网络问题

JSON对象周围的双引号是否存在于您试图反序列化的字符串中?

如果是这样,那么它会认为整个东西是字符串的JSON表示,而不是'ReturnItem'。

确保AndroidDemo。ReturnItem类与上面示例中的ReturnItem类相同。