如何从我的响应httpwebreponse读取json响应
本文关键字:响应 httpwebreponse json 读取 我的 | 更新日期: 2023-09-27 17:49:41
这是我的示例字符串
{
"aaa": "0",
"nnn": "Ok",
"rrr": [
{
"id": "0",
"name": "Reserved",
"desc": "Reserved",
"shortdesc": "",
"price": "07.80",
"isvariableprice": "0",
"taxcategoryid": "0",
"istaxinclusive": "0",
"brandid": "1",
"isnetsalesexempt": "0",
"itemtype": "0",
"skus": [],
"modifiergroups": [],
"prices": [],
"pricerules": [],
"categories": [],
"nutrition": [
{
"id": "1",
"amount": "10.0000"
}
]
}
]
}
我只想从样本json响应中检索"id"answers"price"。JSON不止于此,它有多个id和价格……我怎么用一个循环来检索数组中的所有元素。请帮助。
这就是我现在的位置。
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Console.WriteLine("Response stream received.");
string resultString = readStream.ReadToEnd();
//var ser = new DataContractJsonSerializer(typeof(RootObject));
var stream = new MemoryStream(Encoding.Unicode.GetBytes(resultString));
dynamic data = JsonObject.Parse(resultString);
Console.WriteLine(data.id); //??????????
readStream.Close();
}
这段代码给了我上面的字符串在"数据",但我想拉"id"answers"价格"
提前感谢各位大师
Json。Net将使您在使用JSON时更轻松http://json.codeplex.com/
与Json。网就位
你可以用动态方式或强类型方式来实现。
动态:var dynJson = JsonConvert.DeserializeObject<dynamic>(yourJsonString);
//for simple values
Console.WriteLine(dynJson.aaa);
Console.WriteLine(dynJson.nnn);
//for list values
foreach(var r in dynJson.rrr){
//for simple values in rrr
Console.WriteLine(r.id);
//for list values in rrr
foreach(var price in rrr.prices)
Console.WriteLine(price)
}