【问题标题】:how to read the json response from my response httpwebreponse如何从我的响应 httpwebreponse 中读取 json 响应
【发布时间】:2014-04-15 22:15:47
【问题描述】:

这是我的示例字符串

{
"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”和“price”。 JSON 不仅如此,而且有多个 id;s 和价格......我如何放置一个循环来检索数组中的所有内容。请帮忙。

这就是我现在的位置。

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();
                }

这段代码在“data”中给了我上面的字符串,但我想提取“id”和“price”

谢谢各位大师

【问题讨论】:

    标签: c# .net json stream


    【解决方案1】:

    使用 JSON http://json.codeplex.com/ 时,Json.Net 将使您的生活更轻松

    使用 Json.Net。

    您可以以动态方式或强类型方式执行此操作。

    动态:

    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)
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 2013-09-09
      • 2019-03-19
      • 2011-08-24
      • 2013-03-11
      • 2018-06-12
      • 1970-01-01
      相关资源
      最近更新 更多