http://json2csharp.com/帮助您根据 JSON 数据类型创建 C# 类。一旦你有你的类来匹配你的数据,你可以使用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 转换为 Uri 对象)它在字符串如下时起作用:
string myString = @"{""version"": {
""files"": [
{
""url"": ""http://www.url.com/"",
""name"": ""someName""
},
{
""name"": ""someOtherName"",
""url"": ""http://www.url.com/"",
""clientreq"": true
}]}}";