我有一些JSON然後解析爲JArray對象。我想過濾JArray,因此它只有兩個屬性Title和BodyText。但是無論我嘗試什麼,我只能使用LINQ選擇一個值。NewtonSoft JArray - 如何使用LINQ選擇多個元素
[HttpGet]
public JsonResult AjaxGetNewsItems()
{
string json = JsonConvert.SerializeObject(news.GetNewsItems(), formatting:Formatting.Indented);
var v = JArray.Parse(json);
//var items =
// v.Where(
// x =>
// x["Title"].ToString() != string.Empty &&
// x["BodyText"].ToString() != string.Empty)
// .Select(x => x["Title"])
// .ToList();
var title = (string) v[0]["Title"];
var titleBodytext = from p in v
select v[0]["Title"]["BodyText"];
foreach (var item in titleBodytext)
{
}
//var titleBodytext =
// from c in v[0]["Title"]["BodyText"]
// group c by c
// into g
// select new { };
//JArray a = JArray.FromObject(news.GetNewsItems());
//string titleBodytext = (string) newsItems["Title"]["Bodytext"];
return new JsonResult()
{
Data = json,
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
MaxJsonLength = Int32.MaxValue
};
}
我想改變這種代碼:
var titleBodytext = from p in v
select v[0]["Title"]["BodyText"];
Title
和BodyText
在我JArray兩個鍵的值。 JArray對象的
見截圖。在元素0中存在關鍵值元素。
試試這個'var titleBodytext = from p in v select new {Title = p [0] [「title」],Body = p [0] [「bodyText」]' – 2014-10-17 11:10:07
@Thirisangu我現在就試一試。所以我想將它投影到令人討厭的收藏中? – 2014-10-17 11:14:53
@Thirisangu我有這個錯誤:其他信息:訪問JObject值與無效鍵值:0.預期的對象屬性名稱。 – 2014-10-17 11:19:16