2017-12-18 33 views
1

JSON 문자열의 비 직렬화 과정에서 객체를 매핑 할 수 있습니까?.NET 코어 - Json.NET 비 직렬화 매핑

var resultObject = JsonConvert.DeserializeObject<ConfigItemGetResult>(result); 

내 JSON 문자열이 비 직렬화하려는 개체와 다릅니다. 따라서 매핑이 발생해야합니다. 예를 들어 AutoMapper를 사용하여 객체에서 객체로 매핑하는 JSON 문자열에 1 대 1을 매핑하는 모델을 만드는 것을 피하려고합니다.

답변

0

당신의 직렬화 매핑 여기

public class JsonTest 
{ 
    [JsonProperty(PropertyName = "SomePropNameFromJson")] 
    public string SomeProp { get; set; } 
    [JsonProperty(PropertyName = "SomeNested")] 
    public SomeClass SomeClass { get; set; } 
} 
    public class SomeClass 
    { 
     public SomeClass1 SomeClass1 { get; set; } 
    } 

    public class SomeClass1 
    { 
      public string text { get; set } 
    } 

JSON

{ "SomeProp"를 구성하기위한 사용 Serialization Attributes : "값", "SomeNested": { "SomeClass1": { "텍스트를" : "textvalue" }

Js 변환시 변환 이름을 JSON에서 다른 이름을 가진 경우 값을 가져 오는 텍스트의 소문자 이름을 찾으면 반사를 통해 값이있는 소문자 이름으로 객체를 객체로 변환하려고합니다.이 경우 [JsonProperty (PropertyName = "SomeNested")]를 통해 지정할 수 있습니다. attr은 기본적으로 설정되어 있지 않습니다.이 속성은 소품 이름으로 가져오고 어떤 속성이든, 어떤 객체 (중첩 된 객체) 또는 기본 유형이든간에 자동으로 변환하려고 시도합니다.

+0

중첩 된 속성 aswel과 함께 작동합니까? – user2963570

+0

@ user2963570, 확실한 – itikhomi

+0

예를 제공해 주시겠습니까? – user2963570