2017-04-13 1 views
0
나는 내 수업에서 이러한 구조를 가지고
public class Prices 
{ 
    public string avg { get; set; } 
} 

public class PriceID 
{ 
    public string itemId { get; set; } 
    public List<Prices> prices { get; set; } 
} 

public class ObjectPricesRoot 
{ 
    public List<PriceID> pricesList { get; set; } 
} 

으로 직렬화,하지만 난 "해당 itemId"이 있어야는 "가격표는"루트 객체가 될 가능성이 높습니다 및 루트 개체에서 JSON 형식을 얻을 수 없다 속성 "가격"을 포함합니다 : "123"또는 "평균"키 "12345"와 같은 값으로Newtonsoft.Json

int id = 12345; 
int RAVG = 1293; 

prices.avg = RAVG.ToString(); 
priceId.itemId = id; 

priceId.prices.Add(prices); 
pricesRoot.pricesList.Add(priceId); 

나는 그런 오류가 발생합니다 : "123"

ObjectPricesRoot pricesRoot = new ObjectPricesRoot(); 
PriceID priceId = new PriceID(); 
Prices prices = new Prices(); 

int id = 12345; 
int RAVG = 1293; 
priceId.prices.Add(new Prices { avg = RAVG.ToString() }); 
pricesRoot.pricesList.Add(new PriceID { itemId = id }); 

은 또한 다음과 같은 시도 메시지 (번역, 자기 언어 때문에)

System.NullReferenceException : '개체에 대한 참조로는 개체의 인스턴스를 확인할 수 없습니다.'

나는 실제로 그것을 얻지 못한다.

답변

0

초기화가 누락되었습니다.

priceId.prices = new List<Prices>(); 
pricesRoot.pricesList = new List<PriceID>(); 
+0

오. 나는 심지어 몰랐다. 나는 더 많은 문서를 읽어야한다. 나는 이것들이 이와 같이 별도로 초기화되어야한다는 것을 정말로 알지 못했다. 나는 그것이 내가 한 짓이라고 생각했다. 그걸 깨닫지도 못 했어. 정말 고마워! 나는 해결책을 찾으려고 노력하는 동안 몇 시간을 보냈고 당신은 몇 분 안에 반응했습니다! – Epz