Моя строка JSONКак сделать String.Join при десериализации строки JSON?
{
"account_id": "123456",
"capabilities": [
2,
6,
15,
11
],
"currency": "USD"
}
Мое определение класса
public class AdAccount
{
public long account_id { get; set; }
public string currency { get; set; }
public List<int> capabilities { get; set; }
}
код Desearialization:
var account = JsonConvert.DeserializeObject<Account>(data, new JsonSerializerSettings() { MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore });
Это все работает отлично. Однако я хочу, чтобы «возможности» были разделены запятыми, например «2,6,15,11». Так что я попытался
public class AdAccount
{
public long account_id { get; set; }
public string currency { get; set; }
private string _capabilities;
public string capabilities { get { return _capabilities; } set { _capabilities = String.Join(",", value); } }
}
Но это бросает исключение
Ошибка чтения строки. Неожиданный токен: StartArray. Путь «возможности», строка 1, позиция 544.
Можно ли делать то, что я хочу, во время десериализации?
Спасибо.
@ rjv_mjn Вы пробовали 'public String возможности {get; задавать; } 'вместо' public List возможностей {get; задавать; } ' –
kbvishnu
Зачем вам нужно, чтобы ваше представление в памяти было труднее работать? Разумеется, было бы лучше преобразовать список в ваше * более приятное представление ('Account') только тогда, когда вам нужно. –
@JonSkeet Моя цель в коде, который я пишу, это получить строку JSON и поместить ее в дБ, где мы немного обрабатываем данные. Значение «возможностей» не имеет для нас большого значения, но нам не хотелось бы, чтобы код удалял любые данные, которые мы получаем. JSON -> Deserialized Obj -> DB. Благодарю. – Justin