JSON> C#类(仅限特定用途)

时间:2018-06-13 15:34:01

标签: c# .net json

我有一个数据库,我可以将其转换为JSON文件,这对我来说非常好看。

databse image

现在,假设我想仅获取特定类型的信息。例如,IDCategoryTargets。如何在忽略其余类型的同时从这些类型中获取信息?这可能吗?如果可能的话,我应该使用什么工具来完成这项工作?我目前有JSON.Net,那个适合吗?如果是这样,我如何在不修改JSON文件的情况下从较大的集合中获取所述数据?

2 个答案:

答案 0 :(得分:5)

是的,使用JSON.Net这样做是微不足道的。只需创建一个只有这三个属性的类,然后使用该类反序列化JSON。对于完整集,创建另一个具有所有属性的类,并使用该类反序列化JSON。

但是,我们通常使用完整的属性集将JSON反序列化为一个类,并使用我们需要的内容。

答案 1 :(得分:0)

如果您尝试将此信息传递给模型,您可以直接使用存储过程,然后在C#项目中使用这种新模型来创建您希望接收的数据的新模型。

存储过程示例

USE Database;  
GO  
  IF OBJECT_ID('sp_selectTable', 'P') IS NOT NULL  
  DROP PROCEDURE sp_selectTable;  
GO  
  CREATE PROCEDURE sp_selectTable  
AS    
  SET NOCOUNT ON;  
  SELECT Column1, Column1,Column3
  FROM Table 
  RETURN  
GO  

模型示例

public class Model
{
 public int Column1 { get; set; }
 public int Column2 { get; set; }
 public int Column3 { get; set; }
}

然后调用存储过程

 var result=dbContext.Database.SqlQuery<List<Model>>(sqlQuery).SingleOrDefault();