Десериализовать строку Json (в C #) без Json.Net - PullRequest
3 голосов
/ 06 октября 2010

Я использую следующие строки для десериализации простых строк Json, таких как:

string jSon = "{\"FirstName\":\"Foo\", \"LastName\":\"Bar\"}";
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Person personDeserialized = oSerializer.Deserialize<Person>(jSon);

Затем я добавляю объект personDeserialized в базу данных с помощью Entity Framework.

Проблема в том, что этот метод не работает, если у меня есть следующие данные:

string jSon = "{
   \"FirstName\":\"Foo\", 
   \"LastName\":\"Bar\",
   \"Hobbies\":
   [
      {\"Sport\":\"FootBall\"},
      {\"Music\":\"Rock\"},
   ]
}";

Конечно, класс Person содержит ссылки на класс Хобби.

Итак, есть ли способ и без библиотеки jSon.NET автоматически добавить объект "Хобби" в объект personDeserialized?

Спасибо

Привет.

1 Ответ

2 голосов
/ 07 октября 2010

Вы пытались использовать новый .NET DataContractJsonSerializer ? Я считаю, что я работаю намного лучше, чем JavaScriptSerializer, который вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...