[英]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.