Convertir en C# de l'Objet à Objet Json
Je suis en train de sérialiser un objet de C# dans un objet Json. Qui sera ensuite soumis à l'API Salesforce, et de créer une application. Droit maintenant, j'ai le C# de l'objet sérialisé dans une chaîne Json, mais j'en ai besoin pour être un objet.
Voici mon objet C# avec accompagner la sérialisation.
Customer application = new Customer {
ProductDescription = "gors_descr " + tbDescription.Text,
Fname = "b_name_first " + tbFName.Text,
Lname = "b_name_last " + tbLName.Text
};
var json = new System.Web.Script.Serialization.JavaScriptSerializer();
string jsonString = json.Serialize(application);
string endPoint = token.instance_url + "/services/apexrest/submitApplication/";
string response = conn.HttpPost(endPoint, json, token);
Literal rLiteral = this.FindControl("resultLiteral") as Literal;
J'ai besoin de la chaîne JSON de sortie à l'intérieur d'un Objet JSON. Un exemple de ce dont j'ai besoin est ci-dessous:
"{ \"jsonCreditApplication\" : " +
"\"gors_descr\" : \"Appliances\", " +
"\"b_name_first\" : \"Marisol\", " +
"\"b_name_last\" : \"Testcase\", " +
"}";
Ce codés en dur chaîne json est à l'intérieur d'un objet. Comme il se trouve, les valeurs de l'objet C# sont en cours de sortie dans une chaîne JSON, mais je suis dans le besoin de sortie dans un objet afin que l'API Salesforce accepte la soumission.
Comment puis-je ajouter ou insérer la chaîne JSON en objet?
pour commencer, assurez-vous que votre chaîne json est valable, vous pouvez en fait utiliser ce site pour convertir la chaîne json en C# de la Classe json2csharp.com regardez aussi ce lien convertir en Objet de C# en Json
Tout d'abord lorsque vous sérialiser
application
vous obtiendrez JSON qui va ressembler: {"ProductDescription": "gors_descr Appliances", "Fname": "b_name_first Marisol", ...}
. Il ne ressemble pas à du JSON que vous voulez.OriginalL'auteur Mowrite | 2016-01-18
Vous devez vous connecter pour publier un commentaire.
Pour créer corriger JSON vous devez d'abord préparer le modèle approprié. Il peut être quelque chose comme ça:
Pour être en mesure d'utiliser
Data
attributs, vous devrez en choisir un autre sérialiseur JSON. Par exemple DataContractJsonSerializer ou Json.NET(je vais l'utiliser dans cet exemple).Donc
jsonCreditApplication
variable sera:OriginalL'auteur Aleksandr Ivanov
D'une autre manière.
et
voir
http://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_JsonSerializerSettings.htm
Mes paquets.config au moment de la rédaction...même si je suis sûr de l'avenir/les dernières versions encore l'appui:
Hey. Merci pour le feedback. J'ai ajouté les paquets.config. "À l'aide" était déjà là! 🙂
OriginalL'auteur granadaCoder
Installer Newtonsoft.Json NuGet puis décorer la classe de la Clientèle avec la nécessite de nommage des décorations pour dire sérialiseur Json comment sérialiser le client des champs de classe:
Prochaine, sérialiser l'objet comme ceci:
Vous obtiendrez le résultat souhaité et de la valeur de
JsonOutput
sera :"{\"jsonCreditApplication\":{\"gors_descr\":\"Appliances \",\"b_name_first\":\"Marisol \",\"b_name_last\":\"Testcase \"}}"
Il y a beaucoup de façons de le faire mais je crois que c'est la solution la plus simple.
OriginalL'auteur Zuhair
Vous pouvez utiliser quelque chose comme http://restsharp.org/, qui est un c# bibliothèque pour le REPOS. Si oui, il a construit dans le sérialiseur pour les objets json (.addJsonBody()) ou vous pouvez sérialiser vous-même et ajouter avec
Sinon, si vous voulez plus de contrôle sur elle, vous pouvez utiliser
J'ai aussi trouvé https://github.com/ademargomes/JsonRequest, mais c'est toujours en développement.
Soyez avertis que si vous utilisez quelque chose comme RestSharp, c'est une conserve demande de sorte que toute variation de ce qu'ils ont créé que le standard de la demande (par exemple, " multipart/form données w/json ou des en-têtes personnalisés ou même d'authentification personnalisé) peut ne pas fonctionner avec leur bibliothèque, auquel cas il est probablement préférable de faire votre propre en utilisant HttpWebRequest de toute façon. Espérons que ça aide!
OriginalL'auteur Benj Arnopp