2015-11-26 64 views
2

我调用一个服务函数,它返回一个流。将Stream对象转换为json对象,然后转换为用户定义的对象

流包含具有两个属性(Url和Status)的JSON对象。

我想要将此JSON对象转换为我的用户定义的类,称为“响应”。响应类有两个属性Url和Status。

的代码,我有这么远,但目前还不清楚下一步该怎么做,或者如果我需要实现别的东西:

var response = _service.GetObject("Create"); 
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
var jsonObject = serializer.DeserializeObject(response.ReadToEnd()); 

回答

2

可以使用,这需要T泛型类型参数和内部投下的过载所需类型:

Response jsonObject = serializer.DeserializeObject<Response>(response.ReadToEnd()); 

备注JavaScriptSerializer is deprecated。您应该使用Json.NET使用JSON,其中有相当的工作:

var response = _service.GetObject("Create"); 
var serializer = JsonConvert.DeserializeObject<Response>(response.ReadToEnd()); 
+0

布里尔,第一行没有工作,因为你提到它已被弃用,第二个实现为我工作。非常感谢! –

+0

@ GIVE-ME-CHICKEN欢迎您。 –