Json.NET在没有父级的情况下序列化对象属性

时间:2017-10-18 12:28:05

标签: c# json serialization json.net

使用Json.NET是否可以序列化对象的字段而不是对象本身?

在JMS Serializer(PHP)中,我可以使用@Inline注释。

public class ApiResponseData
{
    public User User { get; set; }
}

public class User
{
    public string Username { get; set; }
    public string Firstname { get; set; }
    public string Lastname { get; set; }
}

如果我序列化ApiResponseData,我想获得用户名,名字和姓氏,而不是User属性。

实际: { "user": { "username": "username", "firstname": "firstname", "lastname": "lastname" } }
渴望: { "username": "username", "firstname": "firstname", "lastname": "lastname" }

2 个答案:

答案 0 :(得分:0)

您可以尝试序列化ApiResponseData.User,而不是序列化ApiResponseData本身。这样它只会序列化值 ApiResponseData.User。像:

 Newtonsoft.Json.JsonConvert.SerializeObject(ApiResponseData.User);

答案 1 :(得分:0)

在包含此类对象的类中,您可以添加内部属性,以返回要序列化的成员的值。不是最优雅的解决方案,但它的工作原理。