Cis*_*ran 16 c# parsing json json.net
所以我对编程很新,但我希望能更深入地学习它.我最近开始参与一个项目,为一个使用JSON API系统的网站创建一个WinForm程序.
我之前从未使用过API,所以我不太确定它是如何工作的,但看了几分钟之后,我似乎有了它的要点.我没有得到的是如何在C#中解析JSON的工作原理.
我在谷歌搜索后找到了 这个链接.我用这个代码(稍微)了解它.
static void Main(string[] args)
{
WebClient c = new WebClient();
var vLogin = c.DownloadString("https://www.openraid.us/index.php/api/login/username/password");
//Returns string
//{"status":1,"error":null,"token":"250-1336515541-c48d354d96e06d488d1a2530071ef07c9532da26"}
//Token = random, no decisive length*/
JObject o = JObject.Parse(vLogin);
Console.WriteLine("Login Status: " + o["status"]);
String sToken = "" + o["token"];
Console.WriteLine(sToken);
Console.WriteLine("");
//Breaks after this
var myRaids = c.DownloadString("https://www.openraid.us/index.php/api/myraids/"+sToken);
JObject r = JObject.Parse(myRaids); //error occurs here
String sEventId = "" + r["event_id"];
Console.WriteLine("Event ID: " + sEventId);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
所以对我来说,看起来我已经解析了1页并完成了处理,但是当我移动到第二页时,我得到了这个错误.
从JsonReader读取JObject时出错.当前的JsonReader项不是对象:StartArray.路径'',第1行,第1位.
所以我想我的问题是,我该如何解析超过1页或致电JSON的,哪些是要分手的JSON对象的每个部分(如最简单的方法status
,error
和token
,到C#字符串?
小智 45
你有没有试过JArray?取决于您尝试返回的对象类型
WebClient client = new WebClient();
var data = client.DownloadString("");
var jArray = JArray.Parse(data);
Run Code Online (Sandbox Code Playgroud)