簡體   English   中英

使用JSON.net在C#中讀取JSON文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM