【发布时间】:2020-01-31 11:06:54
【问题描述】:
我有以下 JSON:
{
"reviews": [
{
"reviewId": "123",
"authorName": "author",
"comments": [
{
"userComment": {
"text": "text",
"lastModified": {
"seconds": "1580461776",
"nanos": 1
},
"starRating": 5,
"reviewerLanguage": "GB",
"appVersionCode": "",
"appVersionName": "",
"thumbsUpCount": 0,
"thumbsDownCount": 0
}
}
]
}
]
}
从这里我想要访问的是starRating(但有可能进行多次审查)我已经成功地将 JSON 正确反序列化为 C# 对象,并在调试我的代码时检查了这一点。
到目前为止我有:
var appReview = JsonConvert.DeserializeObject<appData>(appJson);
var reviews = appReview.Reviews;
int reviewCount = reviews.Length;
for (int i = 0; i < reviewCount; i++)
{
Console.WriteLine(reviews[0].Comments[0].UserComment.StarRating);
}
但是我不只是想要这个特定评论的星级,因为将来会有更多评论和星级,因此我需要选择 JSON 中的所有评论并获得平均星级?因此,我不确定使用[0] 索引访问它们是否正确。希望我已经解释得足够好-谁能指出我正确的方向?
【问题讨论】:
-
那么,每条评论可以有几个cmet,而每一个cmet可以有一个star rating?所以实际上每条评论都可以有多个评级?这似乎很奇怪 - 你确定这就是你想要的吗?
标签: c# arrays json serialization