내 JSON 문자열JSON 문자열을 deserialize하는 동안 String.Join을 수행하는 방법은 무엇입니까?
{
"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 capabilities {get; 세트; }'public 목록 대신 capabilities {get; 세트; } ' –
kbvishnu
메모리 내 표시를 사용하기가 더 어려운 이유는 무엇입니까? 반드시 필요할 때만 * 더 멋진 표현 ('Account')으로 목록을 변형하는 것이 더 낫습니다. –
@JonSkeet 필자가 작성한 코드의 목적은 JSON 문자열을 가져 와서 데이터 처리 비트를 dB로 지정하는 것입니다. "능력"값은 우리에게별로 중요하지 않지만 우리가받는 데이터를 버리는 코드는 싫어합니다. JSON -> 역 직렬화 된 Obj -> DB. 감사. – Justin