通过将方法的返回值格式化为json来生成json



我想通过将方法的返回值格式化为json来生成json。

以下是json:的格式

{
  "Users": [
  {
    "Id1" : user.Id1,
    "Id2" : user.Id2
  },
  {
    "Id1" : user.Id1,
    "Id2" : user.Id2
  }]
}

应该返回JToken:的方法

public static JToken SaveUsers(User user)
{
     context.asp_User_Update(user.Id1, user.Id2 //omitted some arguments);
     return user.Id1 + user.Id2;
}

我想要这个方法,不管它将返回什么id来生成类似于上面给出的格式的json。

我试过这个代码:

JToken json = JObject(
                       JProperty("Users", new JArray(new JObject (new
                       JProperty("Id1", user.Id1), 
                       JProperty("Id2", user.Id2))))
                     );

我知道我需要使用一个循环来动态生成user.Id1user.Id2的JProperty。

假设users是一个用户列表,您应该能够做到这一点:

    JArray array = new JArray();
    foreach (User user in users)
    {
        JObject userObj = new JObject();
        userObj.Add("Id1", user.Id1);
        userObj.Add("Id2", user.Id2);
        array.Add(userObj);
    }
    JObject result = new JObject();
    result.Add("Users", array);

Fiddle:https://dotnetfiddle.net/n7UDae

最新更新