如何将JSON数据解析为Bridge.NET中的对象实例?
How to parse JSON data into object instance in Bridge.NET?
我正在开发一个 Bridge.NET 项目,该项目基于模板数据动态创建 Bootstrap 表单。通过 jQuery.Ajax
调用接收的数据为 JSON。
问题是,在成功接收后我无法将 JSON 数据转换回它们的对象表示,例如:
Form form = Bridge.Html5.JSON.Parse<Form>((string)data);
其中 Form 是描述 bootstrap 表单的 class,类似于:
public class Form
{
public string Title { get; set; }
public Field[] Fields { get; set; }
}
以上行构建但生成的 JavaScript 表现得像 form
没有实例化,所以下面的代码失败:
var title = form.Title;
有人对如何让它发挥作用有任何想法或解决方法吗?
以下示例演示了完整的场景。
例子
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
}
}
});
希望对您有所帮助。
我正在开发一个 Bridge.NET 项目,该项目基于模板数据动态创建 Bootstrap 表单。通过 jQuery.Ajax
调用接收的数据为 JSON。
问题是,在成功接收后我无法将 JSON 数据转换回它们的对象表示,例如:
Form form = Bridge.Html5.JSON.Parse<Form>((string)data);
其中 Form 是描述 bootstrap 表单的 class,类似于:
public class Form
{
public string Title { get; set; }
public Field[] Fields { get; set; }
}
以上行构建但生成的 JavaScript 表现得像 form
没有实例化,所以下面的代码失败:
var title = form.Title;
有人对如何让它发挥作用有任何想法或解决方法吗?
以下示例演示了完整的场景。
例子
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
}
}
});
希望对您有所帮助。