8
votes

Créer JSON avec objet C #

J'essaie de créer les données JSON suivantes: xxx pré>

J'utilise c # et j'essaie de créer un objet afin de faire cela ..... quelque chose comme: P >

{"chart.labels":["Bob","Lucy","Gary","Hoolio"],"chart.tooltips":["Bob did well","Lucy had her best result","Gary - not so good","Hoolio had a good start"]}


1 commentaires

Voulez-vous dire «les propriétés contenant des périodes (points)» à la place?


3 Réponses :


2
votes

Vous pouvez utiliser la bibliothèque JSON.NET, vous pouvez le télécharger à partir de ici

Il a cette fonctionnalité:

Personnalisation du nom de propriété d'attribut

Cette question vous aidera:

JSON.NET: JSONSERIALIZER-Attribute pour la dénomination personnalisée < / p>

Et vous pouvez utiliser DatacontractJsonSerializer il fournit cette fonctionnalité, mais JavasCriPTHtsérializer n'est pas.


1 commentaires

Absolument. Bibliothèque géniale.



9
votes

Le moyen habituel de le faire consiste à utiliser un DatacontractjsonSerializer code> Pour activer votre objet en JSON et utiliser DataMember code> attributs pour annoter les noms à utiliser pour les propriétés:

public class SomeController: MyBaseController
{
    public ActionResult SomeAction()
    { 
        var model = new ChartModel()
                   { 
                       Labels = ..., 
                       Tooltips = ... 
                   };
        return JsonContract(model);
    }
}


1 commentaires

Merci Jamiec - a eu la partie simple qui travaille maintenant. Ajoutera vos méthodes ensuite :)



0
votes

pour le projet MVC newtonsoft.json bibliothèque est disponible. (Vous devez inclure manuellement ceci pour d'autres projets)

Donnez donc JSONProperty dans le modèle, comme celui-ci ... xxx

et utiliser newtonsoft.json.jsonconvert.json.jsonconvert.json.jsonconvert.json.jsonconvert.serializeObject (objet); ou json.encode (objet) pour convertir en JSON.


0 commentaires