通过将方法的 return 值格式化为 json 来生成 json
Generate a json by formatting the return value of a method to json
我想通过将方法的 return 值格式化为 json 来生成 json。
json 的格式如下:
{
"Users": [
{
"Id1" : user.Id1,
"Id2" : user.Id2
},
{
"Id1" : user.Id1,
"Id2" : user.Id2
}]
}
应该return JToken的方法:
public static JToken SaveUsers(User user)
{
context.asp_User_Update(user.Id1, user.Id2 //omitted some arguments);
return user.Id1 + user.Id2;
}
我想要这个方法,无论它的 ID 是什么,它都会 return 生成一个 json 类似于我上面给出的格式。
我试过这段代码:
JToken json = JObject(
JProperty("Users", new JArray(new JObject (new
JProperty("Id1", user.Id1),
JProperty("Id2", user.Id2))))
);
我知道我需要使用循环动态生成 user.Id1
和 user.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
我想通过将方法的 return 值格式化为 json 来生成 json。
json 的格式如下:
{
"Users": [
{
"Id1" : user.Id1,
"Id2" : user.Id2
},
{
"Id1" : user.Id1,
"Id2" : user.Id2
}]
}
应该return JToken的方法:
public static JToken SaveUsers(User user)
{
context.asp_User_Update(user.Id1, user.Id2 //omitted some arguments);
return user.Id1 + user.Id2;
}
我想要这个方法,无论它的 ID 是什么,它都会 return 生成一个 json 类似于我上面给出的格式。
我试过这段代码:
JToken json = JObject(
JProperty("Users", new JArray(new JObject (new
JProperty("Id1", user.Id1),
JProperty("Id2", user.Id2))))
);
我知道我需要使用循环动态生成 user.Id1
和 user.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