2017-04-10 15 views
0

我需要在JSON中進行查詢。例如單詞「Love」,將搜索整個JSON文件,並返回列表中包含單詞「love」的所有句子。搜索所有與LINQ的項目C#WP8.1

我的課表

public class CategoriaFrase 
{ 
    [JsonProperty("Categoria")] 
    public string categoria { get; set; } 
    public List<Frase> frases { get; set; } 
} 

public class Frase 
{ 
    public string frase { get; set; } 
    public string autor { get; set; }  
} 

Deserialization代碼:

string texto; 
try 
{ 
     StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Categorias/Frases.txt")); 

     using (StreamReader sRead = new StreamReader(await file.OpenStreamForReadAsync())) 
     texto = await sRead.ReadToEndAsync(); 

     List<CategoriaFrase> pesquis = JsonConvert.DeserializeObject<List<CategoriaFrase>>(texto); 

這是我的JSON的結構:

[ 
    { 
    "categoria": "Mensagens de Amizade", 
    "frases": [ 
     { 
     "frase": "Enquanto alguns escolhem pessoas perfeitas, eu escolho as que me fazem bem.", 
     "autor": "Frases S2" 
     }, 
     { 
     "frase": "Amizade verdadeira não é ser inseparável. É estar separado, e nada mudar.", 
     "autor": "Frases S2" 
     }, 
    } 
"categoria": "Mensagens de Amor", 
    "frases": [ 
     { 
     "frase": "Amor não é só beijo e amasso. Amor é cuidado, amor é carinho, amor também é amizade.", 
     "autor": "Frases S2" 
     }, 
     { 
     "frase": "Amor é isso: querer bem, querer perto, querer ver feliz, querer fazer feliz, querer explicar – e não conseguir – tudo isso que a gente sente.", 
     "autor": "Frases S2" 
     }, 

我需要查詢JSON中某個單詞,並返回所有包含特定單詞句子。


Update - 001 - I added the code but it did not work

+0

這個問題更多的是關於搜索字符串。真的和Json無關(除非你有問題)你能改變標題嗎? – Worthy7

回答

0

該查詢應該工作。它返回包含單詞「Love」的句子列表。

(from k in pesquis 
from l in k.frases 
where l.frase.Contains("Love") 
select l.frase).ToList() 
+0

非常感謝! –

0

pesquis.Where(p=>p.frases.frase.Contains("love")).Select(s=>s.frases.frase).ToList();

+0

顯示字符串愛錯誤:Connot從字符串轉換到Frases_S2.model.Frase –

+0

對不起,我認爲修復它? – Worthy7

+0

嗨,謝謝我解決了.. –