7
votes

Comment convertir Objet en JSON sans JSON.NET Bibliothèque?

Je veux enregistrer cet objet: xxx

au fichier JSON. Mais Visual Studio 2012 ne peut pas trouver aucun de ces espaces de noms: xxx

aucune idée?


1 commentaires

Oui, j'ai constaté que vous ne pouvez installer que System.json en installant un autre package, puis en le supprimant. (Ne vous souvenez pas de quel paquet c'est.) J'ai l'impression que le système.json n'est pas vraiment pris en charge.


5 Réponses :


3
votes

Assurez-vous d'ajouter les références appropriées à votre projet. Par exemple, pour utiliser le DatacontractJsonSerializer classe, vous devez ajouter une référence à System.Runtime.Serialization code> à votre projet.

Si vous utilisez Visual Studio, lisez Comment: ajouter ou supprimer des références dans Visual Studio . P>

Vous pouvez ensuite l'utiliser avec: p>

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Student));
ser.WriteObject(outputStream, student);


3 commentaires

Pouvez-vous me donner plus d'informations sur la façon d'ajouter la référence?


@gkiko utilisez-vous Visual Studio?


Visual Studio 2012 Desktop



0
votes

Vous devez probablement ajouter des références à votre projet:

  • System.Runtime.Serialization.json est dans System.Runtime.Sériorialisation
  • System.Web.Script est dans System.Web.extensions
  • System.json est uniquement pour Silverlight

0 commentaires

6
votes

2
votes

Les autres réponses sont correctes en disant que vous devez ajouter des références aux assemblys appropriés. Comme moyen simple de gérer des références pour un projet personnel, je recommanderais Nuget , un gestionnaire de packages pour Visual Studio. Heureusement, Nuget Ships avec Visual Studio 2012, vous devez donc simplement cliquer avec le bouton droit de la souris sur le projet, cliquez sur "Gérer les packages Nuge" et recherchez JSON.net. Le premier article de blog que j'ai trouvé sur l'utilisation de Nuge dans Visual Studio 2012 est ici , et il semble donner un bon ensemble d'instructions, avec des captures d'écran.


8 commentaires

L'érable des développeurs ... J'espère vraiment que l'OP obtient un indice sur ce que tout cela est avant de tourner le pilote automatique et de laisser un outil le faire pour lui.


Je suis toujours largement indécis au sujet de Nuget; Je le vois souvent comme gâchis de un autre ensemble ensemble de références et peut simplement en faire sans elle dans mon environnement de travail, même - bien que je continue d'essayer de boire l'aide de Kool et d'essayer de l'utiliser sur des machines personnelles, Peut-être que le sou va tomber et je vais 'l'obtenir ».


J'ai une grande inquiétude avec Nuget. Accrochez-vous avec moi un instant ... Vous voyez, je suis un expert de déploiement. (Oui, rire tout ce que vous voulez, j'ai entendu le "expert de déploiement" snarky "commentaires de Bwahaha" des commentaires ici auparavant.) Bien trop souvent, les développeurs viennent à moi sans avoir une idée de ce que sont leurs dépendances. La compréhension des dépendances est la première étape pour obtenir des exigences. Nuget automatise la mise en place de l'environnement de développement et de l'environnement de construction, mais ne fait rien pour le déploiement. Mes autres préoccupations sont que c'est un peu de cauchemar cm. Sinon, je sais ce qu'ils essaient de faire.


@Christopherpainter peut-être. Plutôt que de voir un nouveau programmeur disent "Cette chose c # est difficile, je vais tout écrire en PHP", je préférerais lui laisser utiliser un gestionnaire de paquets pendant un moment et découvrez des références d'assemblage lorsque vous recherchez un Version particulière de la génération, ou lors de l'utilisation d'une génération qui n'est pas disponible auprès du gestionnaire de packages ou lors de la division d'un projet dans des assemblages distincts ou lors de l'écriture tout code c ++, ou code pour Linux dans un Cours collège.


Sinon, je sais ce qu'ils essaient de faire. Ils essaient d'être cool et sexy à tous les nouveaux froneux qui sont habitués à la manière dont les autres piles open source fonctionnent.


Je suis tout pour faire plus facilement les choses (Resharper aiderait ici aussi!) Mais pas au détriment des compétences fondamentales. Juste mon avis.


@Adammihalcin J'ai installé Nuget. Quelle est la prochaine étape? Le compilateur ne peut toujours pas trouver la bibliothèque.


Comme je l'ai dit ci-dessus, Nuget ne peut pas trouver System.json.



6
votes

Si vous souhaitez sérialiser la classe dans JSON, vous pouvez essayer celui-ci également:

Installez json.net si vous ne l'avez pas encore fait.

Assurez-vous d'inclure à l'aide de Newtonsoft.json ;

et vous pouvez essayer ce code: xxx

désolé pour mon mauvais anglais.


1 commentaires

Cette réponse n'est exactement pas ce que l'OP voulait et crée des résultats de recherche de la tromperie de click-appât.