使用JSON.net在c#中读取JSON文件
本文关键字:JSON 读取 文件 net 使用 | 更新日期: 2023-09-27 18:06:24
我从Steam web api中检索了一个相当大的JSON文件。它有多个对象和令牌。我想知道在c#中阅读这个文件的最好方法是什么。
这里有一个程序必须解码的数据类型的示例:http://pastebin.com/nNw7usZW
我唯一感兴趣的数据是对象"rgDescriptions"中的项目"icon_url_large","market_name"answers"type"。到目前为止,我已经尝试使用
WebClient c = new WebClient();
var json = c.DownloadString(url);
JObject o = JObject.Parse(json);
不确定从这里开始进行,或者如何使用解析器结果。最后,我想把"market_name"值的列表放到下拉框中。
谢谢
您可以使用Newtonsoft.Json.dll
,因为您必须创建一个类并在其中声明属性,以便您可以反序列化对象并仅使用您想要的属性。
public class MyClass
{
public int First { get; set; }
public string Name { get; set; }
}
var abc = JsonConvert.DeserializeObject<MyClass>(jsonData);
你可以创建一个类匹配你的json表示和反序列化它使用JsonConvert。方法,或者保留您的JObject。对象是动态对象,因此您可以动态地查看对象树。
使用JsonConvert。DeserializeObject
class MyDataObject
{
public string Data1{get;set;}
[...]
}
string jsonText = ...;
var dataObject = JsonConvert.DeserializeObject<MyDataObject>(jsonText);
var myData = dataObject.Data1;
使用jobobject
WebClient c = new WebClient();
var json = c.DownloadString(url);
dynamic o = JObject.Parse(json);
var myData = o.Data1;
JObject选项更简单,但是使用它不会从静态类型中获益。享受吧!:)