如何将IEnumerable <JToken>转换为JArray

ize*_*god 8 c# linq json.net

我正在使用LINQ over a JArray根据特定条件过滤掉项目,并希望将结果分开JArray.

JArray arrSameClass = (JArray) arrPupilEmailDetails.Where(joSameClass => joSameClass["uClassId"].ToString() == gidClassId.ToString());
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个转换异常('unable to cast from IEnumerable<JToken> to JArray').我也试过了JArray.Parse().有帮助吗?

dbc*_*dbc 11

您可以使用JArray(Object)构造函数并将其传递给您,IEnumerable<JToken>并且将对枚举进行求值并用于构造JArray:

var query = arrPupilEmailDetails.Where(joSameClass => joSameClass["uClassId"].ToString() == gidClassId.ToString());
var arrSameClass = new JArray(query);
Run Code Online (Sandbox Code Playgroud)

样品小提琴.