IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Transformer une List en fichier Json


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut Transformer une List en fichier Json
    Bonjour,

    Je réalise un script me permettant de récupérer les mises à jour sur des données. Je les stock dans une list <dynamic> Updated.
    Il faut ensuite que de cette liste, j'en sorte un fichier Json.
    Je crée donc ma variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string jsonfichiertest = JsonConvert.SerializeObject(Updated);
    Puis j'essaye de convertir en un fichier txt que je stock la où j'execute mon .exe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "testresultat.json", jsonfichiertest);
    Malheureusement, il me renvoie un fichier avec juste écrit "null" dedans...
    Quelqu'un aurait des pistes ? J'ai farfouillé sur le net sans résultat...


    Merci de votre aide !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut
    Je vais donner quelques détails supplémentaires :

    En gros j'arrive à récupérer depuis mon outil intranet des données sur par exemple un type de donnée qui ont cette forme
    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
      "id": "XXXXX",
      "name": "TYPE 1",
      "organization": {
        "value": "RATP",
        "id": "XRATPX"
      },
      "location": {
        "value": "France",
        "id": "XXXFranceXXX"
      },
      "isEditable": true,
      "riskLevel": "HIGH",
      "riskScore": 6.0,
      "status": {
        "key": "active"
      },
      "number": 52750,
      "createdDate": "2019-10-03T15:51:04.2Z",
      "updatedDate": "2019-10-25T10:07:36.183Z",
      "customField1013": "14/10/2019 16:54:27",
      "customField1011": "0",
      "customField1010": "4d290cfa-d06c-4f80-b306-4700062a6cec"
    }

    Du coup ce que je fais , c'est que si j'ai update mon "TYPE 1" alors je mets toutes ces données ci dessus dans ma liste.
    Déjà comment voir l'intérieur de ma liste sur la console...?? Ça me renvoie ça :
    System.Collections.Generic.List`1[System.Object]
    Je veux ensuite sérialiser tout ça dans un json et j'ai ce problème qui apparaît :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Exception non gérée*: Newtonsoft.Json.JsonWriterException: Token PropertyName in state ArrayStart would result in an invalid JSON object. Path ''.
       à Newtonsoft.Json.JsonWriter.AutoComplete(JsonToken tokenBeingWritten)
       à Newtonsoft.Json.JsonTextWriter.WritePropertyName(String name)
       à Newtonsoft.Json.Linq.JProperty.WriteTo(JsonWriter writer, JsonConverter[] converters)
       à Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter writer, Object value, JsonContract valueContract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)
       à Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
       à Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter writer, Object value, JsonContract valueContract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)
       à Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
       à Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
       à Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
       à Newtonsoft.Json.JsonConvert.SerializeObject(Object value, Formatting formatting)

    Comment résoudre ca

  3. #3
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Je ne sais pas si une liste de dynamic peut donner quelque chose d'intéressant ; à ce stade tu peux aussi bien utiliser une List<object>. Sinon il faudrait savoir comment tu récupères tes objets sources et si tu ne peux pas avoir des types C# concrets. Par ailleurs si tu récupères du json, je ne vois pas trop l'intérêt de désérialiser des objets pour les re-sérializer derrière.

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/06/2017, 10h29
  2. Réponses: 2
    Dernier message: 03/07/2006, 20h14
  3. [JSP] Trier par date une liste de fichier en JSP
    Par Total dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/02/2006, 15h38
  4. [VB]Récupérer une liste de fichiers
    Par yaya54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/02/2006, 16h03
  5. Réponses: 10
    Dernier message: 30/01/2005, 20h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo