Conversion de JSON en XML
J'essaie de convertir la sortie JSON en XML. Malheureusement, j'obtiens cette erreur:
JSON objet racine a de multiples propriétés. La racine de l'objet doit avoir une propriété unique dans le but de créer un document XML valide. Considérons en spécifiant un DeserializeRootElementName.
C'est ce que j'ai jusqu'à maintenant créé.
string url = string.Format("https://graph.facebook.com/{0}?fields=posts.fields(message)&access_token={1}", user_name, access_token);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
jsonOutput = reader.ReadToEnd();
Console.WriteLine("THIS IS JSON OUTPUT: " + jsonOutput);
}
XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonOutput);
Console.WriteLine(doc);
Et c'est ma sortie JSON:
{"id":"108013515952807","posts":{"data":[{"id":"108013515952807_470186843068804","created_time":"2013-05-14T20:43:28+0000"},{"message":"TEKST","id":"108013515952807_470178529736302","created_time":"2013-05-14T20:22:07+0000"}
Comment puis-je résoudre ce problème?
source d'informationauteur lukso
Vous devez vous connecter pour publier un commentaire.
Malgré le fait que votre JSON fournis dans la question n'est pas complète, vous disposez de plusieurs propriétés au plus haut niveau, comme indiqué par l'exception. Vous devez définir la racine pour obtenir XML valide:
EDIT: pour imprimer votre document XML avec indentation vous pouvez utiliser
XDocument
classe deSystem.Xml.Linq
espace de noms:XDocument.Parse(doc.InnerXml)
.J'ai pensé qu'il vaut la peine de liaison à la Documentation pour transformer le xml en json et dans l'autre sens.
Les gars sont en droit..
Vous pouvez faire JSON-à-XML en utilisant la .NET Framework (Système.Moment de l'exécution.La sérialisation.Json):
DeserializeXmlNode retourne XDcument.
Si nécessaire XNode utilisation FirstNode.
Votre partagée JSON n'est pas valide s'il vous plaît aller à travers http://jsonformatter.curiousconcept.com/ et de valider votre JSON premier.
Geneviève laurendeau JSON doit ressembler à: