-3

下面一个是我的json对象

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

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

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

3 回答 3

1

创建一个模型类以映射到您的 Json 结构或使用动态

:EDIT: 抱歉语法错误,这里有一个完整的例子

        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 库。

于 2013-09-24T10:17:53.737 回答
1

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

   dynamic obj= JsonConvert.DeserializeObject<dynamic>(content);
于 2013-09-24T10:16:08.533 回答
0

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

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

于 2013-09-24T10:21:01.823 回答