转换System.Collections.GenericList';1[Newtonsoft.Json.Linq.JToken]列表到Json数组c#

转换System.Collections.GenericList';1[Newtonsoft.Json.Linq.JToken]列表到Json数组c#,c#,json,linq,C#,Json,Linq,我想将System.Collections.GenericList'1[Newtonsoft.Json.Linq.JToken]转换为Json数组 最初我将我的JSON数组字符串存储在myData中,如下所示: var myData = l.GetJsonData(); 现在,在LINQ的帮助下,我过滤了我的Json,如下所示: var root = JToken.Parse(myData); var study_year = "2016/2017"; var term =

我想将
System.Collections.GenericList'1[Newtonsoft.Json.Linq.JToken]
转换为Json数组

最初我将我的JSON数组字符串存储在
myData
中,如下所示:

var myData = l.GetJsonData();
现在,在
LINQ
的帮助下,我过滤了我的
Json
,如下所示:

 var root = JToken.Parse(myData);
    var study_year = "2016/2017";
    var term = 2;var values = root.Where(t =>
 (int?)t["term"] == term && (string)t["study_year"] == study_year).ToList();

现在,
values
是具有排序数据但不是Json格式的,它显示的是
System.Collections.GenericList'1[Newtonsoft.Json.Linq.JToken]
,如何使其以Json数组字符串显示排序数据。

从列表中创建一个
JArray
,并将列表作为构造函数参数。一旦获得JArray,只需调用ToString()

以上内容将输出以下内容

[
  {
    "name": "a",
    "value": 40
  },
  {
    "name": "c",
    "value": 25
  }
]

只需添加以下内容:

 var values = root.Where(t =>
     (int?)t["term"] == term && (string)t["study_year"] == study_year).ToList();
    var filteredJson = JsonConvert.SerializeObject(values);
 var values = root.Where(t =>
     (int?)t["term"] == term && (string)t["study_year"] == study_year).ToList();
    var filteredJson = JsonConvert.SerializeObject(values);