Сериализация динамического объекта C # в объект JSON для использования в JavaScript - PullRequest
5 голосов
/ 31 марта 2010

На основе примера c # dynamic с XML я изменил DynamicXml.cs и проанализировал мою строку xml. модифицированная часть выглядит следующим образом

    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        result = null;
        if (binder.Name == "Controls")
            result = new DynamicXml(_elements.Elements());
        else if (binder.Name == "Count")
            result = _elements.Count;
        else
        {
            var attr = _elements[0].Attribute(
                XName.Get(binder.Name));
            if (attr != null)
                result = attr.Value;
            else
            {
                var items = _elements.Descendants(
                    XName.Get(binder.Name));
                if (items == null || items.Count() == 0)
                    return false;
                result = new DynamicXml(items);
            }
        }
        return true;
    }

XML-строка для анализа:

               "< View runat='server' Name='Doc111'>" +
                    "< Caption Name='Document.ConvertToPdf' Value='Allow Conversion to PDF'></ Caption>" +
                    "< Field For='Document.ConvertToPdf' ReadOnly='False' DisplayAs='checkbox' EditAs='checkbox'></ Field>" +
                    "< Field For='Document.Abstract' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" +
                    "< Field For='Document.FileName' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" +
                    "< Field For='Document.KeyWords' ReadOnly='False' DisplayAs='label' EditAs='textinput'></ Field>" +
                    "< FormButtons SaveCaption='Save' CancelCaption='Cancel'></ FormButtons>" +
                "</ View>";

динамическая форма = новый DynamicXml (markup_fieldsOnly);

существует ли способ сериализации содержимого этого динамического объекта (пары имя-значение внутри динамического) форма как объект JSON и отправка на сторону клиента (браузер)?

1 Ответ

1 голос
/ 31 марта 2010

Я слышал Json.Net работает довольно хорошо, хотя сам никогда не использовал его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...