C# 使用JSON的有效方法

C# 使用JSON的有效方法,c#,json,linq,c#-4.0,object-model,C#,Json,Linq,C# 4.0,Object Model,我收到这个JSON响应: { "status": "Ok", "total": 105373, "result": [ { "id": 668839, "cn": "A-12157-68812", "pD": "09-12-2012", "cCD": "06-05-2012", "cT": "PERM", "fN"

我收到这个JSON响应:

{
    "status": "Ok",
    "total": 105373,
    "result": [
        {
            "id": 668839,
            "cn": "A-12157-68812",
            "pD": "09-12-2012",
            "cCD": "06-05-2012",
            "cT": "PERM",
            "fN": "COMCAST CABLE COMMUNICATIONS, LLC",
            "s": "NJ",
            "cR": "Certified",
            "pT": "ENGINEER 3",
            "vC": 6,
            "cddt": "html"
        },
        {
            "id": 725695,
            "cn": "A-12361-25668",
            "pD": "05-28-2013",
            "cCD": "12-26-2012",
            "cT": "PERM",
            "fN": "L'ONVIE INC.",
            "s": "NY",
            "cR": "Certified",
            "pT": "Biochemist",
            "vC": 6,
            "cddt": "html"
        },
        {
            "id": 0,
            "cn": "A-11199-93239",
            "pD": "05-31-2012",
            "cCD": "07-18-2011",
            "cT": "PERM",
            "fN": "ROCKWELL AUTOMATION, INC.",
            "s": "PR",
            "cR": "Certified",
            "pT": "Marketing Managers",
            "vC": -1
        }]
}
  • 将其转换为对象以便应用各种LINQ转换来查询一些有意义的数据的最佳方法是什么
  • 这样做的有效方法是什么

    我应该创建如下类:

    public class Status {
                            string Status {get; set;}
                            int Total {get; set;}
                            IEnumerable<Result> Results {get; set;}
                            }
    
    
    
    public class Result {
                        string Id {get; set;}
                        ..................
                       }
    
    公共类状态{
    字符串状态{get;set;}
    int Total{get;set;}
    IEnumerable结果{get;set;}
    }
    公开课成绩{
    字符串Id{get;set;}
    ..................
    }
    

    然后找出映射/投射?

    试试。看看这个关于LINQ查询的文章。您甚至可以使用Json.NET来自动执行。如果您使用的是最新版本的Visual Studio,则可以使用编辑>粘贴特殊>粘贴Json作为类。这将为您节省大量时间:)

    如果您对数据进行的不仅仅是简单的操作,那么您需要创建自己的类。您可以使用数据属性将Json中的字段重命名为更合适的名称

    这取决于您使用的反序列化程序是-Json.net还是内置的.net版本


    如果使用内置的.net反序列化程序,请尝试搜索dataContract和dataMember;如果使用json.net,请尝试搜索jsonProperty。请避免在一个问题中问几个问题。只需将它们作为单独的问题发布即可。这不是几个问题。在多重选择的背景下寻找效率。也许你只需要稍微改革一下。现在看起来是这样的:1)如何将JSON字符串转换为可以使用LINQ查询的对象?2) 如何在数据库中存储此对象?3) 如何将其映射到强类型的内容?@vbo你是对的。现在更好了。但这是1)如何转换。。。?2) 强类与动态类映射。顺便说一下,第二个问题很明显。类的性能更好——动态的东西意味着在运行时执行更多的代码。但是,如果您硬编码所有properties.Geez,那么在开发中会有开销。较新版本的Visual Studio是否也会煮咖啡和做三明治?@Geezer68数据属性会是什么样子?@AntonTykhyy您应该看看他们为VS2014计划了什么!(特别是)