【发布时间】:2011-07-03 07:25:36
【问题描述】:
我试图在 C# 中为我的 Windows Phone 7 项目实现解析 JSON 响应,如 here 所示。但是我遇到了一个编译错误,因为“找不到类型或命名空间名称'Serializable'(您是否缺少 using 指令或程序集引用?)”
我使用 System.Runtime.Serialization 进行导入; 使用 System.Runtime.Serialization.Json;我不确定我缺少什么进口。我试图包括使用 System.ServiceModel.Web;但无法识别 Web 部件。
我认为我的项目没有从here 指向正确的框架。但是在大会信息中,我没有更改目标框架的选项。
This 看起来与我的问题类似,但我在为 Windows Phone 过滤的 .net dll 中找不到 JSON.NET。
谁能帮我让这个 JSON 东西在 Windows Phone 7 上工作。
提前致谢。
编辑 - 2011 年 7 月 3 日
我的杰森回应是 { "serviceresponse" : { "servicename" : "RequestRegisterUser", .....
我的响应对象是:
[DataContract]
public class serviceresponse
{
[DataMember]
public String servicename { get; set; }
.
.
.
还有我的反序列化方法:
public static T Deserialise<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
obj = (T)serializer.ReadObject(stream);
return obj;
}
}
现在反序列化响应后出现此错误: servicename 无法计算表达式字符串
(虽然我在参考中有 dll,但我无法导入 System.ServiceModel.Web。.Web 部件上的编译错误(名称空间“System.ServiceModel”中不存在类型或名称空间名称“Web” ))
EDIT 经过更多研究,我发现我在调试器中查看时的响应实际上是 { \"服务响应\": { \"服务名称\": \"RequestRegisterUser\",..... 我搜索了这个,发现这可能是一个问题。如何格式化它以更正 JSON 字符串??
【问题讨论】:
-
你能发布没有编译的代码吗?
标签: c# json windows-phone-7 windows-phone deserialization