2016-08-07 5 views
0

Я создал следующий класс я хочу сериализацию в Json:класса Serialize к JSon с материнским именем

[JsonObject("user_auth")] 
public class CrmAuth 
{ 
    [JsonProperty("user_name")] 
    public string Name { get; set; } 
    [JsonProperty("password")] 
    public string Password { get; set; } 
} 

Я пытаюсь сериализациями это нравится:

var serialized = JsonConvert.SerializeObject(crmAuthInstance); 

Это создать этот JSON:

{ 
    "user_name":"login name", 
    "password":"the password" 
} 

Но то, что я хочу это:

"user_auth" : { 
    "user_name":"login value", 
    "password":"password value" 
} 

Есть ли опрятный способ добиться сериализации с помощью одного класса?

+0

Вы проверили этот пост http://stackoverflow.com/questions/16294963/json-net- serialize-object-with-root-name – Rahul

ответ

0

тест команда

var serialized = JsonConvert.SerializeObject(new{user_auth=crmAuthInstance}); 
+0

Есть ли способ определить его на уровне класса или он должен быть выполнен из вызывающего кода? Я бы очень хотел определить это на реальных моделях классов – Guerrilla

0

Я получил это работает так:

public class CrmAuthReq 
{ 
    [JsonProperty("user_auth")] 
    public CrmAuth Auth { get; set; } 
} 
public class CrmAuth 
{ 
    [JsonProperty("user_name")] 
    public string Name { get; set; } 
    [JsonProperty("password")] 
    public string Password { get; set; } 
} 
Смежные вопросы