http://json2csharp.com/幫助您根據創建C#類的JSON數據類型。一旦你有你的類來匹配你的數據,你可以用Json.NET反序列化,然後用你的數據工作:
var myMessage = JsonConvert.DeserializeObject<MyMessage>(myString);
foreach (var file in myMessage.Version.Files)
{
// download file.Url
}
或者你可以訪問它作爲一個dynamic
對象:
dynamic myMessage = JsonConvert.DeserializeObject(myString);
foreach (var file in myMessage.version.files)
{
// download file.url
}
如果您使用類,他們可能是:
public class File
{
public Uri Url { get; set; }
public string Name { get; set; }
public bool? ClientReq { get; set; }
}
public class Version
{
public IList<File> Files { get; set; }
}
public class MyMessage
{
public Version Version { get; set; }
}
(注意Json.Net是足夠聰明的映射特性,其中的情況是不同的,並打開URL轉換成開放的對象)它當字符串是這樣的:
string myString = @"{""version"": {
""files"": [
{
""url"": ""http://www.url.com/"",
""name"": ""someName""
},
{
""name"": ""someOtherName"",
""url"": ""http://www.url.com/"",
""clientreq"": true
}]}}";
我結束了使用這種方法,因爲它看起來最簡單,似乎工作!謝謝一堆。對於我使用streamreader來讀取文件的內容與readtoend,然後我用作「jsonString」 –