0
votes

Objet de désériorize JSON et requête

Je dois interroger et obtenir la chaîne JSON correspondée. Voici mon JSON:

Je dois interroger le JSON que je reçois dans la réponse code> code>, correspond au JSON où code = 2 code>, extraire le texte = Jenny Kisworth Code> P>

JSON STRAND> P>

public class JSonData
    {
        [Newtonsoft.Json.JsonProperty("code")]
        public string code { get; set; }

        [Newtonsoft.Json.JsonProperty("language")]
        public List<Datum> language { get; set; }

    }

    public class Datum
    {
        public string lookup { get; set; }
        public int code { get; set; }
    }

//only posting code relevant to the subject
HttpResponseMessage responseCode = client.GetAsync(codeParameters).Result;
if (responseCode.IsSuccessStatusCode)
{
  var dataObjects = responseAlternateTitles.Content.ReadAsStringAsync();
            dataObjects.Wait();

            string dataObjectsString = dataObjects.Result.ToString();
            var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JSonData>>(dataObjectsString);
}


2 commentaires

Datum n'a pas l'air bien. Spécifiquement langue de chaîne publique {obtenir; ensemble; } aussi il ne devrait pas être une liste


C'était une faute de frappe. Je l'ai modifié, c'est en fait langue -> recherche, code . Ensuite, j'ai besoin de correspondre sur le code et de trouver la correspondance et d'extraire cet objet.


3 Réponses :


1
votes

Vos cours devraient ressembler davantage à cela, comment puis-je savoir? http://json2cshaarp.com/ xxx


1 commentaires

Oui cela aide mais ne répond pas à la question complète. Donc, vous avez donné des points pour ça



1
votes

Vous obtenez une erreur car votre JSON ne dispose pas d'un objet de tableau dans la langue, car vous vous attendez à votre objet de classe.

Modifier la classe JSONDATA Classe -> Langue < Pré> xxx


4 commentaires

modifié cela, c'était une faute de frappe, se concentrent sur la récupération de l'objet JSON comme dans ma question


Je reçois une erreur sur les données , comme indiqué dans ma question


@ user726720 a mis à jour la réponse


Oui cela aide mais ne répond pas à la question complète. Donc, vous avez donné des points pour cela.



1
votes
    public class Language
{
    public string lookup { get; set; }
    public int code { get; set; }
}

public class JSonData
{
     [Newtonsoft.Json.JsonProperty("code")]
    public string code { get; set; }
     [Newtonsoft.Json.JsonProperty("parentCode")]
     public int parentCode { get; set; }
     [Newtonsoft.Json.JsonProperty("language")]
    public Language language { get; set; }
     [Newtonsoft.Json.JsonProperty("parentType")]
    public string parentType { get; set; }
     [Newtonsoft.Json.JsonProperty("text")]
    public string text { get; set; }
}

var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JSonData>>(dataObjectsString);
var filtereddata = data.Where(s => s.language.code.Equals(2));

1 commentaires

Muhammad Saqlain, le généraliste a inspiré cette réponse.