2016-04-13 4 views
0

Я хочу использовать атрибут свойства, если JSON свойство «given_name» или «first_name», а затем использовать это свойство, как показано ниже код, но он генерирует ошибку: Дублированный newtonsoft.json.jsonproperty атрибутДубликат newtonsoft.json.jsonproperty атрибут

Ниже мой код:

[Newtonsoft.Json.JsonProperty("given_name")] 
[Newtonsoft.Json.JsonProperty("first_name")] 
public string firstName { get; set; } 

ответ

0

Вы принимаете значение атрибута неправильно. JsonProperty Атрибут отображает сериализованное имя свойства в .net. Вы не можете сериализовать одно и то же свойство дважды. Что вы можете иметь оболочку над одним свойством, чтобы сериализовать ее дважды.

[Newtonsoft.Json.JsonProperty("first_name")] 
public string firstName { get; set; } 
[Newtonsoft.Json.JsonProperty("given_name")] 
public string GivenName { get { return firstName; } set { firstName = value; } } 
+0

Но я не знаю, JSon свойство это генерировать во время выполнения, так как быть «first_name» или «given_name» любой один из двух, так что я хочу использовать ИЛИ оператора на них, как использовать –

+0

тот же эффект. Если вы получаете JSON с '{" first_name ":}' или '{" given_name ":}', то приведенный выше код работает. – Toxantron

Смежные вопросы