I need to make a query in a JSON. For example the word "Love", will search the entire JSON file and return in a list all the sentences that contain the word "love".
My Classes
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; }
}
My Deserialization
code:
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);
This is the structure of my 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"
},
I need to query a certain word inside the JSON and return all the sentences that contain that particular word.
答案 0 :(得分:0)
pesquis.Where(p=>p.frases.frase.Contains("love")).Select(s=>s.frases.frase).ToList();
答案 1 :(得分:0)
此查询应该有效。它返回包含单词&#34; Love&#34;的句子列表。
(from k in pesquis
from l in k.frases
where l.frase.Contains("Love")
select l.frase).ToList()