【问题标题】:JSON Serialization in C# - Object in ObjectC# 中的 JSON 序列化 - 对象中的对象
【发布时间】:2021-08-09 15:04:33
【问题描述】:

是否可以直接在 json 中显示“UserStatus”中的所有元素。

来自: {“用户名”:“测试”,“用户状态”{“ID”:“1”,“状态”“状态”}}

到: {“用户名”:“测试”,“ID”:“1”,“状态”“状态”}

public class UserStatus 
{
   public int Id { get; set; }
   public string Status { get; set; }
}
    
public class User 
{
   public string UserName { get; set; }
   public UserStatus Status { get; set; }
}

var user = new User();  

string json = JsonConvert.SerializeObject(user);

【问题讨论】:

  • 您始终可以创建一个扁平化的 DTO 并将属性映射到它。
  • 您可以使用 AutoMapper 库进行此类投影

标签: c# json json.net


【解决方案1】:

试试这个

var user = new User() { UserName = "userName", Status = new UserStatus {Id=1,Status="status"}};
string json = JsonConvert.SerializeObject(new {
                                                  UserName=user.UserName,
                                                  Id=user.Status.Id,
                                                  Status=user.Status.Status
                                               });

输出

{"UserName":"userName","Id":1,"Status":"status"}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多