将对象解析为 JObject

时间:2021-06-02 15:13:12

标签: c# json serialization

晚上好,

我将尝试将对象解析为 JObject。

This Fiddle 演示了我的问题,代码如下:

public class User
{
    public int UserId {get;set;}
    public string Username {get;set;}
}

public class Program
{
    public static JObject Parameters { set; get; }
    public static List<User> Users {get;set;}
    
    public static void Main()
    {
        Users = new List<User>();
        Parameters = new JObject();
        Users.Add(new User{UserId=1,Username="First User"});
        Users.Add(new User{UserId=2,Username="Second User"});
        
        Parameters.Add("Method", "AddUsers");
        Parameters.Add("Users", JArray.FromObject(Users));
        Console.WriteLine(Parameters);
    }
}

输出:

<块引用>
{
 "Method": "AddUsers",
 "Users": "[{\"UserId\":1,\"Username\":\"First User\"},{\"UserId\":2,\"Username\":\"Second User\"}]"
}

这是我的真实问题的简化对象结构。它逃脱了我的 Json,这使我指出 WebRequest 由于无效的请求正文而失败。

我该如何正确序列化我的对象?

最好的问候 丹尼尔

1 个答案:

答案 0 :(得分:0)

我在写完问题后找到了答案。

我通过添加这样的参数解决了这个问题


Parameters.Add("Users", JProperty.Parse(JsonConvert.SerializeObject(Users)));