首页 新闻 搜索 专区 学院

请问怎样反序列化json对象呢??

0
悬赏园豆:10 [已关闭问题]

我做的是CS的,服务器端用NetServ.Net.Json.dll序列化的,不知道在客户端怎么反序列化??

问题补充: 用里面的JsonParser可以反序列化了可是发现再.net CF里面不能用,真是晕呀。
tatung zhang的主页 tatung zhang | 初学一级 | 园豆:145
提问于:2008-09-27 14:19
< >
分享
其他回答(3)
-1

 可以这样做:

方法1:可以使用asp.net ajax的js class写法如下

(A) var result = Sys.Net.JavaScriptSerializer.deserialize(value);将string转成json对象

(B) var result = Sys.Net.JavaScriptSerializer.serialize(value);将json对象转成string.

方法2:

可以用eval来将json string 转成json对象

var result=eval("json string");

 不过,反过来可能就要自己来分解对象,再构造json string了

推荐用第一种.

加冰的可乐 | 园豆:410 (菜鸟二级) | 2008-09-27 14:40
-1

如何是采用WCF的话,这部分序列化都可以省了。只要指定输出的格式为“JSON”即可。

听棠.NET | 园豆:130 (初学一级) | 2008-09-27 17:36
-1

TL曾经答过,非常具体 http://space.cnblogs.com/question/2985/ :

其实不用什么第三方的类库,在.NET Framework对于JSON本来就提供了很好的支持。

1. 使用JavaScriptSerializer,位于命名空间System.Web.Script.Serialization,使用:

序列化为JSON字符串:

Code
User user = new User {
Name
= "TerryLee",
Age
= 20
};

JavaScriptSerializer serializer
= new JavaScriptSerializer();
string result = serializer.Serialize(user);

反序列化:

Code
String input = "";
JavaScriptSerializer serializer
= new JavaScriptSerializer();
serializer.Deserialize
<User>(input);

 

2. 使用DataContractJsonSerializer类,推荐使用这个,这是最新的,位于命名空间 System.Runtime.Serialization.Json下,序列化和反序列化分别调用它的WriteObject()和 ReadObject()方法就可以了。

所以建议多看看.NET Framework的类库,其实很多功能可能都已经提供了,而无须我们再考虑第三方的了。

2008/9/19 23:10:01 回答者:TerryLee
陛下 | 园豆:3938 (老鸟四级) | 2008-09-27 17:46
-1

不用反序列化吧,eval()就可以了

LittlePeng | 园豆:3395 (老鸟四级) | 2008-09-30 20:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册