gpt4 book ai didi

c# - 将 IEnumerable 转换为 JsonArray

转载 作者:行者123 更新时间:2023-11-30 22:29:43 26 4
gpt4 key购买 nike

我正在选择 IEnumerable<dynamic>来自使用 Rob Conery 的 Massive 框架的数据库。该结构以平面格式 Poco C# 返回。我需要转换数据并将其输出到 Json 数组(格式显示在底部)。

我以为我可以使用 linq 进行转换(我不成功的努力如下所示):

using System.Collections.Generic;
using System.Json;
using System.Linq;
using System.ServiceModel.Web;

....
IEnumerable<dynamic> list = _repository.All("", "", 0).ToList();

JsonArray returnValue = from item in list
select new JsonObject()
{
Name = item.Test,
Data = new dyamic(){...}...
};

这是我要生成的 Json:

[
{
"id": "1",
"title": "Data Title",
"data": [
{
"column1 name": "the value",
"column2 name": "the value",
"column3 name": "",
"column4 name": "the value"
}
]
},
{
"id": "2",
"title": "Data Title",
"data": [
{
"column1 name": "the value",
"column2 name": "the value",
"column3 name": "the value",
"column4 name": "the value"
}
]
}
]

最佳答案

这是一个使用 Json.Net 的例子

List<int> list = new List<int>() {1 , 2};

string json = JsonConvert.SerializeObject(
list.Select(x => new{
id = x.ToString(),
title = "title " + x.ToString(),
data = Enumerable.Range(3,2).Select(i=> new {column1=i,column2=i*i})
})
, Newtonsoft.Json.Formatting.Indented
);

输出:

[
{
"id": "1",
"title": "title 1",
"data": [
{
"column1": 3,
"column2": 9
},
{
"column1": 4,
"column2": 16
}
]
},
{
"id": "2",
"title": "title 2",
"data": [
{
"column1": 3,
"column2": 9
},
{
"column1": 4,
"column2": 16
}
]
}
]

关于c# - 将 IEnumerable<dynamic> 转换为 JsonArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com