我正在尝试解析一个可以在这里找到的.Json文件 - http://files.star-made.org/releasebuildindex.json我在这个网站上找到的这个片段 -
WebClient webClient = new WebClient();
dynamic result = JsonValue.Parse(new WebClient().DownloadString("http://files.star-made.org/releasebuildindex.json"));
Console.WriteLine(result.builds.version);
使用当前版本的文件(每周更新一次或更改游戏时更新),应返回字符串" 0.163",但它当前返回"默认"经过一些搞乱之后,如果该标签实际上不存在,它就会返回。
我不了解Json,也无法编辑该文件,因为我不是它的创建者,非常感谢任何帮助。
-James
答案 0 :(得分:1)
Builds是一个数组。你得到这样的版本:
Console.WriteLine(results.builds[0].version);
要探索json字符串的结构,可以使用http://json2csharp.com/。
答案 1 :(得分:1)
动态关键字很不错,但静态代码检查和自动完成更好。要启用此功能,您需要具有POCO(普通语言运行时)的简单旧CLR(。
)。复制Json和粘贴特殊 - > 粘贴为json类(至少需要Visual studio 2012.2 RC):
public class Rootobject
{
public string indexfileversion { get; set; }
public string type { get; set; }
public Build[] builds { get; set; }
}
public class Build
{
public string version { get; set; }
public string build { get; set; }
public string rawVersion { get; set; }
public string path { get; set; }
}
然后你可以使用:
var json = new WebClient()
.DownloadString("http://files.star-made.org/releasebuildindex.json");
var result = new JavaScriptSerializer().Deserialize<Rootobject>(json);
Console.WriteLine(result.builds[0].version);