Итак, я работал над веб-службой WCF, используя последнюю сборку веб-API, и мне нравится объект JsonValue.
Я хочу принять JSON, связанный с объектом JsonValue, затем преобразовать этот объект JsonValue в эквивалентное представление XML, которое можно передать в хранимую процедуру для обработки.Это избавляет от необходимости создавать объекты для привязки JsonValue, и это делает вещи текучими.
Затем я хотел бы иметь возможность выбрать данные из базы данных в форме XML и затем преобразовать их в JsonValue для возвратаклиенту.
Мне удалось преобразовать JsonValue в строковое представление XML с помощью этого метода расширения:
// Convert JsonValue to XML string
public static string ToXmlString(this JsonValue instance) {
using (var ms = new MemoryStream()) {
using (var xdw = XmlDictionaryWriter.CreateTextWriter(ms)) {
instance.Save(xdw);
xdw.Flush();
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
Есть ли лучший способ сделать это?Этот метод хорош, но мне просто интересно.
Я также смог преобразовать значение строки XML обратно в JsonValue, используя библиотеку Json.NET, чтобы преобразовать строку XML в строку JSON и затем загрузить строку вОбъект JsonValue выглядит так:
// Return JSON representation of XML
return JsonValue.Parse(JsonConvert.SerializeXNode(xmlElement, Formatting.None, true));
Этот подход хорош, но я бы не хотел зависеть от библиотеки Json.NET, поскольку я включил ее исключительно для этого метода.Есть ли способ сделать это без использования библиотеки Json.NET?
Заранее благодарим за любую помощь!
Даниил