2017-09-06 15 views
0

System.Collections.GenericList'1 [Newtonsoft.Json.Linq.JToken]をJSON配列に変換したいと思います。今Convert System.Collections.GenericList'1 [Newtonsoft.Json.Linq.JToken] Json ArrayへのリストC#

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(); 

:私は、以下のようにLINQの助けを借りて、私のJsonをフィルタリング今

var myData = l.GetJsonData(); 

は当初、私は以下のようにmyDataに保存されている私のJSON配列文字列を持っていましたvaluesはソートされたデータを持つものですが、Json Formatではそうではありません。System.Collections.GenericList'1[Newtonsoft.Json.Linq.JToken]、how私はJson配列の文字列でソートされたデータを表示させることができます。

答えて

1

以下上記の意志の出力は、単純に以下の次の行を追加します。

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

リストから、リストをコンストラクタ引数として使用してJArrayを作成します。 JArrayを取得したら、ToString()を呼び出します。

var root = JToken.Parse("[ {\"name\" : \"a\", value : 40 },{\"name\" : \"b\", value : 10 }, {\"name\" : \"c\", value : 25 } ]"); 

    var filtered = root.Where(t => (int?)t["value"] > 15).ToList(); 

    var jArray = new JArray(filtered); 

    Console.WriteLine(jArray.ToString()); 

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