Я пытаюсь последовательно анализировать JSON, т. Е. На основе условия.Инкрементный JSON-анализ в C#
Ниже приведено мое сообщение json, и в настоящее время я использую JavaScriptSerializer для десериализации сообщения.
string json = @"{"id":2,
"method":"add",
"params":
{"object":
{"name":"test"
"id":"1"},
"position":"1"}
}";
JavaScriptSerializer js = new JavaScriptSerializer();
Message m = js.Deserialize<Message>(json);
класс сообщений показан ниже:
public class Message
{
public string id { get; set; }
public string method { get; set; }
public Params @params { get; set; }
public string position { get; set; }
}
public class Params
{
public string name { get; set; }
public string id{ get; set;
}
Приведенный выше код разбирает сообщение без проблем. Но он анализирует весь JSON сразу. Я хочу, чтобы он продолжал синтаксический анализ только в том случае, если значение параметра «method» равно «add». Если это не «добавить», я не хочу, чтобы он продолжал разбирать остальную часть сообщения. Есть ли способ сделать инкрементный синтаксический анализ на основе условия в C#? (Окружающая среда: VS 2008 с .Net 3.5)
Разбор Json - это критическая для вас производительность? – CodesInChaos
Почему именно вы хотите это сделать? Разве анализируемый объект занимает слишком много памяти? Или это слишком медленно (вы это измерили?)? Или у вас есть другая причина? – svick