日期:2014-05-20  浏览次数:20881 次

JavaScript代码:JSON序列化和反序列化
HTML code
<html>
<head>
<script src="MicrosoftAjax.js" type="text/javascript"></script>
<script src="TestSerializer.js" type="text/javascript"></script>
<script type="text/javascript">

</script>
</head>

<body>
  <span>序列化:</span><div id="t1">Answer</div>
  <span>反序列化:</span><div id="t2">Answer</div>
</body>
</html>


JScript code
TestSerializer = {};
TestSerializer.TestSerialize = function(){
    var _div = $get("t1");
    var _myObj1= new TestSerializer.TestObject();
    _myObj1.set_Id("1");//只设置一个属性
    _div.innerHTML = Sys.Serialization.JavaScriptSerializer.serialize(_myObj1);
    }
TestSerializer.TestDeserialize = function(){
    var _div1 = $get("t1");
    var _div2 = $get("t2");
    
    var _jsonRow = "{'_id':'1'}";//只传递一个属性
    var _myObj2 = TestSerializer.TestObject.GetFromJson(_jsonRow);
    _div2.innerHTML="Id:" + _myObj2.get_Id()+";Name:"+_myObj2.get_Name(); 
    }
    
TestSerializer.TestObject = function(){
    //构造函数为所有字段设定默认值
    this._id = "";
    this._name = ""; 
    };
TestSerializer.TestObject.prototype={
    get_Id:function(){return this._id;}
    ,set_Id:function(pNew){this._id = pNew;}
    ,get_Name:function(){return this._name;}
    ,set_Name:function(pNew){this._name=pNew;}
    }
TestSerializer.TestObject.GetFromJson = function(pJsonRow){
    var _jsonObj = Sys.Serialization.JavaScriptSerializer.deserialize(pJsonRow);
    var _newObj = new TestSerializer.TestObject();
    //拷贝所有存在的字段
    if (_jsonObj._id) {_newObj.set_Id(_jsonObj._id);}
    if(_jsonObj._name){_newObj.set_Name(_jsonObj._name);}
        return _newObj;
    }

Sys.Application.add_load(PageLoadHandler);
function PageLoadHandler(){
    TestSerializer.TestSerialize();
    TestSerializer.TestDeserialize();
    }
TestSerializer.TestObject.registerClass('TestSerializer.TestObject',null);


------解决方案--------------------
探讨

这个必须顶.`

------解决方案--------------------
虽然看不懂,感觉很NX
------解决方案--------------------
然后呢?

 
 
 
 
----------------------------------签----------名----------栏----------------------------------
------解决方案--------------------
表示看不懂哦,楼主给个具体点的例子啊
------解决方案--------------------
探讨

引用:

这个必须顶.`

MARK

------解决方案--------------------
迷茫 能详解吗
------解决方案--------------------
看不懂。。。。。。
------解决方案--------------------
探讨

最关键就2句:
1.序列化:Sys.Serialization.JavaScriptSerializer.serialize
2.反序列化:Sys.Serialization.JavaScriptSerializer.deserialize

------解决方案--------------------
探讨

虽然看不懂,感觉很NX

------解决方案--------------------
完全不懂
------解决方案--------------------