如何在Bridge.NET中将JSON数据解析为对象实例?

时间:2015-03-31 17:55:53

标签: jquery ajax json parsing bridge.net

我正在开发一个基于模板数据动态创建Bootstrap表单的 Bridge.NET 项目。数据通过jQuery.Ajax调用作为JSON接收。

问题是,成功接收后,我无法将JSON数据转换回其对象表示,例如:

Form form = Bridge.Html5.JSON.Parse<Form>((string)data);

其中表单是描述引导表单的类,如:

public class Form
{
    public string Title { get; set; }
    public Field[] Fields { get; set;  }
}

以上一行构建但生成的JavaScript行为类似form未实例化,因此下面的代码失败:

var title = form.Title;

任何人对如何使其发挥作用有任何想法或解决方法?

1 个答案:

答案 0 :(得分:4)

以下示例演示了完整方案。

示例

using Bridge;
using Bridge.Html5;

namespace Demo
{
    public class App
    {
        [Ready]
        public static void Main()
        {
            var data = "{ \"title\": \"testing\" }";
            Form form = JSON.Parse<Form>(data);

            Console.Log(form.Title); // logs "testing"
        }
    }

    public class Form
    {
        public string Title { get; set; }
    }
}

编译器发出以下内容:

Bridge.define('Demo.App', {
    statics: {
        config: {
            init: function () {
                Bridge.ready(this.main);
            }
        },
        main: function () {
            var data = "{ \"title\": \"testing\" }";
            var form = Bridge.merge(new Demo.Form(), JSON.parse(data));

            console.log(form.getTitle()); // logs "testing"
        }
    }
});

Bridge.define('Demo.Form', {
    config: {
        properties: {
            Title: null
        }
    }
});

希望这有帮助。