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表示,而不是'ReturnItem'。
确保AndroidDemo。ReturnItem类与上面示例中的ReturnItem类相同。