0
votes

Analyser JSON en C # et Xamarin

J'ai une chaîne JSON que je reçois dans C # qui ressemble à ce code xxx pré>

mon code ressemble à ceci lors de l'appel de la chaîne JSON. J'essaie d'analyser les données pour tirer les valeurs de l'état et des données. Cependant, je reçois des erreurs chaque fois que je deviens au-delà de la demande et de l'analyse réelle de l'objet. P> xxx pré>

et mon modèle ressemble à ceci: p>

Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.String[][]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'data.first_name', line 1, position 39.


0 commentaires

3 Réponses :


0
votes

Utilisez simplement:

public Dictionary<string, object> data { get; set; }


0 commentaires

0
votes

Votre json_statusResponse ne correspond pas au JSON fourni. Vous devriez probablement être désérialisant au rootObject à la place

Je recommanderais quelque chose comme ceci: xxx

et déplacer ces classes imbriquées hors Json_statusresponse Les champs que vous utilisez pour votre json_statusresponse ne sont pas non plus nécessaires (et de ce que je peux dire, ne faites rien)

Vous devez également désérialiser le rootObject , pas json_statusresponse comme: xxx


0 commentaires

0
votes

Votre formatage JSON est faux "[]" intimer que quelque chose est un tableau. Là, vos valeurs sont simplement célibataires.

Modifiez votre JSON à: p>

{
"status": "error",
"data": {
    "first_name": "The first name field is required.",
    "last_name": "The last name field is required.",
    "email": "The email field is required.",
    "password": "The password field is required."
    }
}


0 commentaires