2015-08-11 2 views
0

Я получаю json-строку, хотя HTTP-POST из внешней службы (которая находится вне моего контроля). Один из ключей в этом json: params:{...},parse Json с ключом «params» в mvc4

Мне нужно нарисовать этот json для класса MyClass. Это было бы просто, если бы не тот факт, что params является ключевым словом в C# ..

Я попытался с помощью Newtonsofts Json.NET (версия 7.0.0) библиотеку, и имеет следующее MyClass:

[JsonProperty(PropertyName = "params")] 
    public TrustlyNotifParams Parameters { get; set;} 

но Parameters заканчивается как null. Опубликованный json имеет вложенное значение для параметров, я видел это через ведение журнала.

все, что выше Parameters в иерархии, обрабатывается просто отлично. Что я здесь делаю неправильно?

+3

Вы можете использовать ключевое слово, вам просто нужно использовать его как 'public TrustlyNotifParams @params {get; задавать; } ', в противном случае вы не могли бы разместить полный пример JSON, чтобы мы могли понять, в чем проблема? –

+0

Удивительный, я понятия не имел, что вы можете это сделать! Сделайте это ответом, и я приму это! =) также повышается ... –

ответ

1

Вы можете (экономно угодить) делать ключевые слова как имена свойств или переменных, вам просто нужно сказать компилятору, чтобы рассматривать его как таковой. Это так же, как вы говорите это, чтобы рассматривать строку как литерал вместо того, чтобы использовать управляющие последовательности:

public TrustlyNotifParams @params { get; set; } 

@ символ указывает компилятору обработать следующее в качестве переменной, поле, имя свойства и т.д.