我从外部来源获得了一个包含大量字段的 json。我不在乎他们中的大多数,我只需要其中的“一些”。(它们处于不同的子级)。
所以我猜我不需要有一个“强类型”的对象。尝试过:
JavaScriptSerializer js = new JavaScriptSerializer();
var obj = jss.Deserialize(myJson);
Run Code Online (Sandbox Code Playgroud)
但似乎我做不到?我该怎么做?
使用:
jss.Deserialize<dynamic>(objectText);
Run Code Online (Sandbox Code Playgroud)
比我不能使用 LINQ 搜索字段...
使用JSON.Net,您可以反序列化为您定义的对象。您定义的对象只能是部分匹配。然后DeserializeObject<>将忽略所有其他 JSON 字段。
例如 JSON:
{
Cat: "Tom",
Mouse: "Jerry",
Duck: "Donald"
}
Run Code Online (Sandbox Code Playgroud)
使用这个:
public class LooneyTunes
{
public string Cat { get; set; }
public string Mouse { get; set; }
}
var looneyTunes = JsonConvert.DeserializeObject<LooneyTunes>(json);
Run Code Online (Sandbox Code Playgroud)
这将忽略该Duck属性并正确反序列化其余部分。因此,使用这种技术,您可以选择您感兴趣的 JSON 消息的哪一部分。
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |