Как преобразовать JSON в XML или XML к JSON?

вам просто нужно вернуть _fetch () вместо того, чтобы просто выполнить его, и так как ваш XMLHttpRequest возвращает responseText, вам не нужно анализировать json в вашем then

270
задан Termininja 3 November 2016 в 09:14
поделиться

3 ответа

Да. Используя класс JsonConvert, который содержит вспомогательные методы для этой конкретной цели:

// To convert an XML node contained in string xml into a JSON string   
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string jsonText = JsonConvert.SerializeXmlNode(doc);

// To convert JSON text contained in string json into an XML node
XmlDocument doc = JsonConvert.DeserializeXmlNode(json);

Документация здесь: Преобразование между JSON и XML с помощью Json.NET

416
ответ дан 23 November 2019 в 02:18
поделиться

Я не уверен, что есть смысл в таком преобразовании (да, многие это делают, но в основном для принудительного подвода квадратного колышка через круглое отверстие) - имеется несоответствие структурного импеданса, и преобразование с потерей данных. Поэтому я бы рекомендовал против таких преобразований формата в формат.

Но если вы сделаете это, сначала преобразуйте из json в объект, затем из объекта в xml (и наоборот для обратного направления). Прямое преобразование приводит к ужасному выводу, потере информации или, возможно, к тому и другому.

29
ответ дан 23 November 2019 в 02:18
поделиться

Спасибо за ответ Дэвида Брауна . В моем случае JSON.Net 3.5 методы преобразования находятся в статическом классе JsonConvert:

XmlNode myXmlNode = JsonConvert.DeserializeXmlNode(myJsonString); // is node not note
// or .DeserilizeXmlNode(myJsonString, "root"); // if myJsonString does not have a root
string jsonString = JsonConvert.SerializeXmlNode(myXmlNode);
27
ответ дан 23 November 2019 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: