2013-04-23 1 views
1

C#에서 JavaScriptSerializer를 사용하여 JSON을 개체에 deserialize하고 있습니다.JSON 역 직렬화에 대한 속성 두 개의 식별자 제공

목적은 다음과 같은 속성이 있습니다

public string plugin_name { get; set; } 
public string slug { get; set; } 
public string description { get; set; } 
public string logo_full { get; set; } 
public string[] categories { get; set; } 
public Version[] versions { get; set; } 

것은이 이름 (예를 들어, plugin_name)는 일반적인 명명 지침 (파스칼 경우)을 따르지 않는 것입니다. 재산에 두 개의 식별자를 부여 할 수있는 간단한 방법이 있습니까? 또는 내가 원하는 것을 성취 할 수있는 다른 방법이 있습니다. 이 작업을 수행 할 수 있음을 알고 있습니다.

그러나 더 간단하고 깨끗한 해결책이 있습니까?

어떤 도움

주시면 감사하겠습니다. 지적이 Json.NET에 고유 한,

[JsonProperty("plugin_name")] 
public string PluginName{get;set;} 

그러나 :

+0

이 규칙은 없습니다. 그것은 1 - 1을 매핑합니다 ... –

+0

가능한 복제본 [JavaScriptSerializer.Deserialize - 필드 이름을 변경하는 방법] (http://stackoverflow.com/questions/1100191/javascriptserializer-deserialize-how-to-change-field- 이름) –

답변

2

this documentation 당, 대신이 리디렉션을 만들 필요없이이 매핑을 지원하는 속성을 추가 할 수 있습니다. 그 대신에 그것을 사용할 수 있습니까?

+0

그 속성은 Json.net 용입니다. 추천할만한 좋은 대안이지만,'JavaScriptSerializer'로 직접 문제를 언급하지는 않습니다. http://james.newtonking.com/projects/json/help/?topic=html/JsonNetVsDotNetSerializers.htm에는 차이점이 포함되어 있습니다 ("속성 속성 이름 사용자 정의"). –

+0

고맙습니다. 방금 시도해 봤는데 완벽하게 작동합니다! – davidwroxy

관련 문제