[英]Reading JSON file inside C# using JSON.net
我已经从Steam网络API检索了一个很大的JSON文件。 它具有多个对象和令牌。 我想知道在C#中读取此文件的最佳方法是什么。
这里有一个程序必须解码的数据示例: http : //pastebin.com/nNw7usZW
我唯一感兴趣的数据是对象“ rgDescriptions”中的“ icon_url_large”,“ market_name”和“ type”项。 到目前为止,我已经尝试使用
WebClient c = new WebClient();
var json = c.DownloadString(url);
JObject o = JObject.Parse(json);
不太确定从何处开始或如何使用解析器结果。 最后,我想将“ market_name”值列表放入下拉框。
谢谢
您可以使用Newtonsoft.Json.dll
,因为您必须创建一个类并在其中声明一个属性,以便可以DeserializeObject并仅使用所需的那些属性。
喜欢
public class MyClass
{
public int First { get; set; }
public string Name { get; set; }
}
var abc = JsonConvert.DeserializeObject<MyClass>(jsonData);
您可以创建一个与json表示形式匹配的类,然后使用JsonConvert.DeserializeObject方法对其进行反序列化,也可以保留JObject。 JObject是动态对象,因此您进入动态然后轻松地浏览对象树。
使用JsonConvert.DeserializeObject
class MyDataObject
{
public string Data1{get;set;}
[...]
}
string jsonText = ...;
var dataObject = JsonConvert.DeserializeObject<MyDataObject>(jsonText);
var myData = dataObject.Data1;
使用JObject
WebClient c = new WebClient();
var json = c.DownloadString(url);
dynamic o = JObject.Parse(json);
var myData = o.Data1;
JObject选项更简单,但是您不能从使用它的静态类型中受益。 请享用! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.