【发布时间】:2016-05-20 11:31:18
【问题描述】:
hotel_pricesURL = string_builder.ToString();
RootobjectOne robjectOne = JsonConvert.DeserializeObject<RootobjectOne>(hotel_pricesURL);
List<OneStar> one_star_list = new List<OneStar>();
var check = robjectOne.onestar;
foreach(var items in check)
{
}
包括RootobjectOne类:
public class RootobjectOne
{
[JsonProperty("OneStar")]
public OneStar onestar { get; set; }
[JsonProperty("TwoStar")]
public TwoStar twostar { get; set; }
[JsonProperty("ThreeStar")]
public ThreeStar threestar { get; set; }
[JsonProperty("FourStar")]
public FourStar fourstar { get; set; }
[JsonProperty("FiveStar")]
public FiveStar fivestar { get; set; }
public IEnumerator GetEnumerator()
{
return (IEnumerator)this;
}
}
public class OneStar
{
public IEnumerator GetEnumerator()
{
return (IEnumerator)this;
}
[JsonProperty("median")]
public string median { get; set; }
[JsonProperty("lowest")]
public string lowest { get; set; }
[JsonProperty("value")]
public string value { get; set; }
//public string
}
**this is the response from the web service**
{
"5 star": {
"median": "134.04",
"lowest": "83.57",
"value": "134.04"
},
"1 star": {
"median": "28.86",
"lowest": "28.86",
"value": "28.86"
},
"4 star": {
"median": "76.35",
"lowest": "36.71",
"value": "76.35"
},
"2 star": {
"median": "24.78",
"lowest": "20.42",
"value": "24.78"
},
"3 star": {
"median": "37.65",
"lowest": "20.33",
"value": "37.65"
}
}
我收到一条错误提示
无法将“OneStar”类型的对象转换为“System.Collections.IEnumerator”类型
为什么?我该如何解决这个问题?
【问题讨论】:
-
我在断点的 foreach 循环中收到此错误,并且此操作导致拖向 GetEnumerator() 方法
-
请提供minimal reproducible example - robjectOne 是什么?
-
你能告诉我们你的
RootobjectOne类的代码吗? -
没有 JSON 很难说,但显然
onestar是不可枚举的(List、IEnumerable 等) -
嗨! Henrik Ilgen 我已经添加了 RootobjectOne 类,请参考下面的代码