在C#中将字符串转换为Json

现在

我想将字符串转换为json,但是我得到的只是null或错误

例如,我要转换此字符串:

string json =
                "{\"$id\":\"1\",\"Result\":{\"$id\":\"2\",\"ListRate\":[{\"$id\":\"3\",\"Title\":\"fetures\",\"ShoppingRateId\":3,\"Rate\":0.0},{\"$id\":\"4\",\"Title\":\"Graphic\",\"ShoppingRateId\":2,\"Rate\":0.0},{\"$id\":\"5\",\"Title\":\"worth of price\",\"ShoppingRateId\":1,\"Rate\":0.0}],\"MyRate\":[{\"$id\":\"6\",\"Title\":\"worth of price\",\"ShoppingRateId\":1,\"Rate\":1.5},{\"$id\":\"7\",\"Title\":\"Graphic\",\"ShoppingRateId\":2,\"Rate\":2.0},{\"$id\":\"8\",\"Title\":\"fetures\",\"ShoppingRateId\":3,\"Rate\":2.0}],\"ListRated\":[{\"$id\":\"9\",\"Title\":\"worth of price\",\"ShoppingRateId\":1,\"Rate\":30.0,\"theCount\":1,\"theSum\":1.5},{\"$id\":\"10\",\"Title\":\"Graphic\",\"ShoppingRateId\":2,\"Rate\":40.0,\"theCount\":1,\"theSum\":2.0},{\"$id\":\"11\",\"Title\":\"fetures\",\"ShoppingRateId\":3,\"Rate\":40.0,\"theCount\":1,\"theSum\":2.0}]},\"StatusCode\":\"Created\",\"Description\":null}";
  JavaScriptSerializer serializer = new JavaScriptSerializer();
  var myclass = Newtonsoft.Json.JsonConvert.DeserializeObject<ProductDto>(json);

以及产品类别:

public class RootObject
{
        public string id { get; set; }
        public ProductDto Result { get; set; }
    public string StatusCode { get; set; }
    public object Description { get; set; }
}

 public class ProductDto
    {

        public string id { get; set; }
        public IQueryable<MyRateDto> ListRate { get; set; }

        public IQueryable<MyRateDto> MyRate { get; set; }

        public IQueryable<ShoppingRateDto> ListRated { get; set; }
    }

    public class ShoppingRateDto
    {
        public string id { get; set; }
        public string Title { get; set; }

        public long ShoppingRateId { get; set; }

        public double Rate { get; set; }

        public int theCount { get; set; }

        public double theSum { get; set; }
    }

    public class MyRateDto
    {
        public string id { get; set; }
        public string Title { get; set; }

        public long ShoppingRateId { get; set; }

        public double Rate { get; set; }
    }

我有点困惑我应该如何转换它。我也使用了“ RootObject”而不是“ ProductDto”,但是什么都没有改变……

一些错误:

附加信息:最佳重载方法匹配'Newtonsoft.Json.JsonConvert.DeserializeObject(string)'有一些无效的参数

附加信息:无法创建和填充列表类型System.Linq.IQueryable`1 [Site.Model.MyRateDto]。路径“ Result.ListRate”

新用户99

似乎错误是一个体面的提示。而不是使用IQueryable(基本上是任何接口集合),请尝试使用具体的集合。例如List<T>

序列化程序必须使用具体的类才能通过反射实例化它们。当他们读取类定义并且遇到接口时,序列化程序很少可以选择正确的实现。由于可能存在许多不同集合接口的具体实例,因此应为序列化程序提供具体类型,以使其正常工作。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将JSON字符串转换为C#字典

来自分类Dev

在C#中将字符串转换为数字

来自分类Dev

在C#中将List基础对象转换为Json字符串

来自分类Dev

在Android中将JSON字符串转换为字典

来自分类Dev

在C#中将字符串转换为DateTime

来自分类Dev

将c#字符串[]转换为json

来自分类Dev

在C#中将字符串转换为IInputStream

来自分类Dev

在C#中将时间字符串转换为DateTime

来自分类Dev

如何在C#中将等号“ =”的字符串转换为json

来自分类Dev

在C#中将double转换为字符串

来自分类Dev

如何在C#中将Json字符串转换为List

来自分类Dev

如何在C#字符串中将上标字符转换为普通文本

来自分类Dev

将JSON字符串转换为C#字典

来自分类Dev

字符串转换为C#

来自分类Dev

将字符串转换为JSON对象C#

来自分类Dev

在C#中将十六进制字符串转换为普通字符串

来自分类Dev

将字符串转换为JSON C#

来自分类Dev

在C#项目中将C#字符串转换为MFC CString吗?

来自分类Dev

如何在C#中将字符串json转换为字典

来自分类Dev

在C#中将字符串(-)转换为Double

来自分类Dev

如何在C#中将等号“ =”的字符串转换为json

来自分类Dev

在C中将字符转换为字符串

来自分类Dev

C#将字符串转换为JSON错误

来自分类Dev

在C#中将字符串数组转换为字符串集合

来自分类Dev

在ASP.NET C#中将数组转换为JSON字符串

来自分类Dev

在 C# 中将简单的 json 数组转换为字符串数组

来自分类Dev

无法在 C# 中将 Json 字符串转换为 Json 对象

来自分类Dev

在 C# 中将 Json 字符串转换为 Json 对象

来自分类Dev

c# 将 json 字符串转换为 .csv