gpt4 book ai didi

c# - Json.NET 问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:41 25 4
gpt4 key购买 nike

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

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

我得到:

07-08 11:41:15.519 I/MonoDroid( 2856): Newtonsoft.Json.JsonSerializationException: Error converting value "{"Val1":-1.0,"Val2":-1.0,"Val3":-1.0,"Val4":-1.0}" to type 'AndroidDemo.ReturnItem'. Path '', line 1, position 104. ---> System.ArgumentException: Could not cast or convert from System.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; }
}

结果是一个看起来像这样的字符串:

"{\"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”。

关于c# - Json.NET 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com