如何为json对象创建c#类?

时间:2013-09-24 10:13:40

标签: c# json

下面是我的json对象

{
   "LNK" : "862",
   "MUK" : "861",
   "query" : "java"
}

我想捕获LNK和相应的句柄。我试过了:

var result = Deserializejson<Dictionary<string,Search>>(jsonresponse);
var searchhandles = new List<Search>(result.Count);

3 个答案:

答案 0 :(得分:1)

如果使用JSON.Net并将JSON反序列化为对象

   dynamic obj= JsonConvert.DeserializeObject<dynamic>(content);

答案 1 :(得分:1)

创建一个Model类以映射到Json Sructure或使用dynmamics

:编辑:抱歉语法错了,这里我们有一个完整的例子

        var seri = JsonSerializer.CreateDefault();

        dynamic dynamicObject = new
        {
            LNK = "862",
            MUK = "861",
            query = "java"
        };

        using (var textWriter = new StringWriter())
        {
            var writer = new JsonTextWriter(textWriter);
            seri.Serialize(writer, dynamicObject);

            var result = textWriter.ToString();
        }

也有效:

        dynamic dynamicObject = new
        {
            LNK = "862",
            MUK = "861",
            query = "java"
        };

        var result = JsonConvert.SerializeObject(dynamicObject);

对于序列化/反序列化,有不同的库。除了.Net标准,我强烈推荐通过Nuget提供的Json.Net库。

答案 2 :(得分:0)

这是您可能尝试的另一种选择。如果您手头的JSON不是预定义的结构,则可以使用JSONObject

http://msdn.microsoft.com/en-us/library/system.json.jsonobject(v=vs.95).aspx