json 解析,JSON数组

public class resuleobj
{
public int returncode { get; set; }
public string message { get; set; }
public string result { get; set; }
}

class carname
{
public string id { get; set; }
public string name { get; set; }
public string firstletter { get; set; }
public string seriesstate { get; set; }
public string seriesorder { get; set; }
}

//{"returncode":0,"message":"成功","result":{"branditems":[
class cartype
{
public string id { get; set; }
public string name { get; set; }

public string bfirstletter { get; set; }
public string logo { get; set; }
public string country { get; set; }
public string countryid { get; set; }

}
//id\": 155,\r\n \"name\": \"广汽丰田\",\r\n \"firstletter\": \"G\",\r\n \"seriesitems
class cartype1
{
public string id { get; set; }
public string name { get; set; }

public string firstletter { get; set; }
public object seriesitems { get; set; }

}

private void button35_Click(object sender, EventArgs e)
{
string url = "http://www.autohome.com.cn/ashx/AjaxIndexCarFind.ashx?type=1";
string urla = "http://www.autohome.com.cn//ashx/AjaxIndexCarFind.ashx?type=3&value=";

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
//req.Method = "GET";
//req.ContentType = "application/json:charset=UTF-8";

HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

Stream str = new System.IO.Compression.GZipStream(resp.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress);

StreamReader reader = new StreamReader(str, Encoding.Default);

string jsonStr = reader.ReadToEnd();
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonStr);

//string jstr = obj.result;//["branditems"].tostring();

var ajo = jo["result"]["branditems"].ToString();

// var obj1 = JsonConvert.DeserializeObject<ppdata>(jstr);

// List<cartype> ls = new list<cartype>(ajo.ToString());
List<cartype> rb = JsonConvert.DeserializeObject<List<cartype>>(ajo.ToString());

// var ja = JsonConvert.DeserializeObject<cartype>(objm.branditems);
foreach (cartype a in rb)
{
var aname = a.name;
var id = a.id;

Log.Info(" union all select '" + aname + "'", "a");
// if (id == "3")
//{
req = (HttpWebRequest)WebRequest.Create(urla+id);
//req.Method = "GET";
//req.ContentType = "application/json:charset=UTF-8";

resp = (HttpWebResponse)req.GetResponse();

//Stream str0 = resp.GetResponseStream();
str = new System.IO.Compression.GZipStream(resp.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress);

reader = new StreamReader(str, Encoding.Default);

jsonStr = reader.ReadToEnd();

//string bname = jo1["result"]["factoryitems"]["name"].ToString();

JObject jo1 = JObject.Parse(jsonStr);
var jsonString = jo1["result"]["factoryitems"].ToString();

// var rcar = JsonConvert.DeserializeObject<List<cartype1>>(jsonString);
// var ja = JArray.Parse(jsonString);
List<cartype1> rcar = JsonConvert.DeserializeObject<List<cartype1>>(jsonString);
string bname = "";
string cname = "";

foreach (var ca in rcar)
{
bname = ca.name;
// MessageBox.Show(bname);

List<carname> carinfo = JsonConvert.DeserializeObject<List<carname>>(ca.seriesitems.ToString());
foreach (var cc in carinfo)
{
cname = cc.name;
// MessageBox.Show(cname);+ bname + ","
Log.Info(" union all select '"+aname + "','" + cname+"'","b");
}


};

}


MessageBox.Show("ok");
}

 


}

posted on 2022-08-24 09:31  rightway  阅读(58)  评论(0编辑  收藏  举报

导航