首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json.NET问题

Json.NET问题
EN

Stack Overflow用户
提问于 2015-07-08 15:49:13
回答 2查看 203关注 0票数 1

我试图在C#中序列化一个简单的对象,发送它,然后在另一端反序列化它。前两部分似乎运作良好,但当我尝试这样做时:

代码语言:javascript
复制
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.ReturItem’。路径'',第1行,位置104。-> System.ArgumentException:无法从System.String转换为AndroidDemo.ReturnItem。

作为参考,ReturnItem看起来如下:

代码语言:javascript
复制
public class ReturnItem
{
    public double Val1{ get; set; }
    public double Val2{ get; set; }
    public double Val3{ get; set; }
    public double Val4{ get; set; }
}

结果是一个如下所示的字符串:

“{\”Val1“:-1.0,\"Val2\":-1.0,\"Val3\":-1.0,\”Val4“:-1.0}”

编辑:这是我最初是如何序列化ReturnItem的。

代码语言:javascript
复制
ReturnItem value = new ReturnItem();
value.Val1= -1;
value.Val2= -1;
value.Val3= -1;
value.Val4= -1;
return JsonConvert.SerializeObject(value);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-08 16:02:01

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

如果是这样的话,那么它会认为整个事情是一个字符串的JSON表示,而不是一个'ReturnItem‘。

票数 3
EN

Stack Overflow用户

发布于 2015-07-08 16:19:49

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31297619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档