2016-07-07 2 views
0

プロパティ「hidden」= TRUEのJSONファイルからデータを取得する必要があります。 MySQLでは次のようになります。 SELECT ALL FROM table.name WHERE hidden = true;の時間後すべての連絡先を取得するWHERE hidden = false ... JSONファイル

 /// <summary> 
    /// Retrieves the list of contacts. 
    /// </summary> 
    /// <returns></returns> 
    internal List<Contact> Retrieve() 
    { 
     var filePath = HostingEnvironment.MapPath(@"~/App_Data/contact.json"); 

     var json = System.IO.File.ReadAllText(filePath); 

     var contacts = JsonConvert.DeserializeObject<List<Contact>>(json); 

     return contacts; 
    } 

しかし、私の問題は私のリストは、このようなJSON形式であることである:

[ 

    { 
    "contactId": 1, 
    "added": "2015-12-21T23:34:06", 
    "companyName": "Starbucks Coffee Deutschland Ltd. & Co. KG", 
    "hidden": false 
    }, 
    { 
    "contactId": 2, 
    "added": "2016-03-16T13:42:37", 
    "companyName": "Google GmbH", 
    "hidden": false 
    }, 
    { 
    "contactId": 3, 
    "added": "2016-01-10T13:55:03", 
    "companyName": "Yahoo Inc", 
    "hidden": true 
    } 
] 

と私はすべてのデータを呼び出すコントローラーでこのメソッドを持っていますgoogling私はあきらめます。

特定の条件を満たすすべてのDATAをシンプルなJSOnファイルから取得するにはどうすればよいですか?

答えて

1

Linq?

contacts.Where(c=>c.hidden) 
1

jq

jq '.[]|select(.hidden==true)' file.json 
0

...または、単純なループです。 XMLコンテンツを配列に読み込んだ後、それを反復処理します。必要に応じて、目的のレコードを別の "結果"配列にプッシュできます。

関連する問題