Просто пытаюсь создать анонимный тип из JSON, ничего не зная заранее о параметрах, и полностью их интерпретируя (возможно, с подсказками). т.е. это значение «выглядит» как int, строка или дата.
Единственный способ, о котором я знаю до сих пор, - это создать анонимный тип, о котором вы заранее знаете. См. Метод .DeserializeAnonymousType (...) ниже.
Может ли кто-нибудь сделать лучше этого? Спасибо.
var jsonString = "{\"user_id\": 1, \"user_type\": \"moderator\", \"name\": \"Fred\"}";
JToken root = JObject.Parse(jsonString);
var anonTemplate = new{user_id=0, user_type="", name="" };
var a = JsonConvert.DeserializeAnonymousType(root.ToString(), anonTemplate);
var b = JsonConvert.DeserializeObject<Object>(root.ToString()); // actually turns into a JsonObject which is something differet.
Обновить
Я скачал dynamicduck и немного поиграюсь с ним. Будет ли эта странная идея динамической «обертки» Брайана быть управляемой нужными мне способами (сериализуемая и т. Д.)?
http://weblogs.asp.net/britchie/archive/2010/08/05/json-net-dynamic-extensions.aspx
http://weblogs.asp.net/britchie/archive/2010/08/03/dynamicduck-duck-typing-in-a-dynamic-world.aspx
dynamic
, а затем явно получить доступ к требуемым свойствам. - person sll   schedule 03.11.2011