Я пытался реализовать синтаксический анализ ответа JSON, как показано здесь для моего проекта Windows Phone 7 в C #.Но я застрял с ошибкой компиляции: «Не удалось найти тип или имя пространства имен« Сериализуемый »(отсутствует директива using или ссылка на сборку?)»
У меня есть импорт с использованием System.Runtime.Serialization;using System.Runtime.Serialization.Json;Я не уверен, какой импорт мне не хватает.Я пытался включить с помощью System.ServiceModel.Web;Но веб-часть не распознается.
Я думал, что мой проект не указывает на правильную структуру из здесь .Но в информации о сборке я не могу изменить целевую платформу.
Эта похожа на мою проблему, но я не смог найти JSON.NET в.net dll, отфильтрованный для Windows Phone.
Может кто-нибудь помочь мне заставить эту штуку JSON работать на Windows Phone 7.
Заранее спасибо.
РЕДАКТИРОВАТЬ - 7/3/11
Мой ответ Джейсона: {"serviceresponse": {"servicename": "RequestRegisterUser", .....
И мои объекты Response:
[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 Не удалось вычислить строку выражения
(я могне импортировать System.ServiceModel.Web, хотя у меня есть dll в ссылке. Ошибка компиляции в части .Web (имя типа или пространства имен 'Web' не существует в пространстве имен 'System.ServiceModel'))
РЕДАКТИРОВАТЬ После дополнительных исследований я нашел свой реsponse при просмотре в отладчике на самом деле {\ "serviceresponse \": {\ "servicename \": \ "RequestRegisterUser \", ..... Я искал это и обнаружил, что это может быть проблемой.Как я могу отформатировать его, чтобы исправить JSON String ??