2016-10-03 2 views
0

Dearl I이 경우 포맷 라인DeserializeObject는 [Json.net]

"rain":{"3h":0.46} 

와 JSON 문자열이 모든 는 '비'3H '개체가 있지만 이름 그래서 동적 JsonConvert로 객체를 deserialize 할 수 없으므로,이 이름을 가진 클래스에서 무엇이 정의됩니까?

는 Json2Csharp이 코드를 나에게 자바 스크립트 (및 JSON)에

public class Rain 
{ 
    public double __invalid_name__3h { get; set; } 
} 

답변

2

객체를 제공 단순히 사전이다. (이 C#으로 금지되어 숫자로 시작하기 때문에, 더 중요하고) 당신은 속성 이름을 알 수 없기 때문에, 당신은 단순히 사전을 사용할 수 있습니다

public class MyThing 
{ 
    public Dictionary<string, double> rain { get; set; } 
} 

그러나, 당신의 JSON이 완전하지 않습니다. 그것은해야한다 :

{"rain":{"3h":0.46}} 

완전 작업 :

void Main() 
{ 
    var json = @"{""rain"":{""3h"":0.46}}"; 
    var result = JsonConvert.DeserializeObject<MyThing>(json); 
} 

public class MyThing 
{ 
    public Dictionary<string, double> rain { get; set; } 
}