读书人

100分求JAVASCRIPT怎么读取反序列化JS

发布时间: 2012-05-29 12:16:00 作者: rapoo

100分求JAVASCRIPT如何读取反序列化JSON后的对象
最近在做一个项目中用到了从后台将数据以JSON格式传到前台来处理,现在问题是前台能以JSON序列化后传到前台,也能用JS将接收到的JSON反序列化,但不知道如何将反序列化后的对象读出来.代码如下:
服务器端
[System.Web.Services.WebMethod]
public static string serial()
{
List<person> people = new List<person>
{new person{ID=1,name="scoot",sex="man"},
new person{ID=2,name="yako",sex="man1"}
};
JavaScriptSerializer jc = new JavaScriptSerializer(new SimpleTypeResolver());
string str_ser = jc.Serialize(people);
return str_ser;
}
}
public class person
{
public int ID { set; get; }
public String name { set; get; }
public string sex { set; get; }
}
客户端JS:
function read_data()
{
PageMethods.serial(CallBack);
}
function CallBack(result)
{
var serial=Sys.Serialization.JavaScriptSerializer;
var man=serial.deserialize(result);
document.write(被序列化的对象应该如何去读取?); }



[解决办法]
json的格式是这样:
{ "名字": "Brett", "年龄":"22", "邮件": "brett@newInstance.com" }


JSON 是 JavaScript 原生格式,在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:

例如上面的:
var person = { "名字": "Brett", "年龄":"22", "邮件": "brett@newInstance.com" };


你上面的var man=serial.deserialize(result); 这行代码,已经是把Json转换为javascript的对象了。

alert(man.name)应该能显示出这个人的姓名。
[解决办法]
up
[解决办法]
参考
参考
[解决办法]
var info2 = eval('('+info+')');
alert(info2);

$("div1").innerHTML = info2.param1;
$("div2").innerHTML = info2.param2;
$("div3").innerHTML = info2.param3;
[解决办法]
顶顶顶UPUPUP
[解决办法]

探讨
谢谢楼上的帮助,不过我从后台传过来的对象是List <person> people = new List <person>
{new person{ID=1,name="scoot",sex="man"},
new person{ID=2,name="yako",sex="man1"}
};
请问我如何读取每一个person对象的各个属性?

读书人网 >asp.net

热点推荐