【发布时间】:2011-08-24 03:33:38
【问题描述】:
我正在尝试正确编写代码来构建数据结构以序列化为 json。
我正在使用 json.net。
我不想创建一堆类来保存这些数据,因为我认为应该有一些类已经在 json.net 中这样做了
我已经在一系列嵌套循环中获得了我需要的所有数据,现在我只想在运行 JsonConvert.SerializeObject 之前将它们添加到对象层次结构中。
我已经尝试过这样的代码,但它似乎不起作用
JArray container = new JArray();
container.Add(new JObject(new JProperty("name", "Client1"), new JProperty("projects", new JArray())));
container[0].AddAfterSelf(new JObject(new JProperty("projects", new JArray())));
container[1].AddAfterSelf(new JObject(new JProperty("projects", "Project2")));
container[1].AddAfterSelf(new JObject(new JProperty("projects", "Project3")));
container.Add(new JProperty("name", "Client2"));
var test = JsonConvert.SerializeObject(container);
问题是当我使用 [i] 时。或 ElementAt(i) 访问结构中的某处,要么 .Add() 丢失,要么 .ElementAt 不存在。 如何逐步完成数据结构以使其很好地输出以下内容,或者我是否必须为所有这些创建自己的容器类?
这是我正在尝试制作的数据格式。
[
{
"name": "student1",
"projects":
[
{
"name": "Project1",
"tasks":
[
{
"name": "task1",
"id": 2
}
],
"id": 6
}
]
},
{
"name": "Student2",
"projects": [
{
"name": "Project1",
"tasks": [
{
"name": "Task2",
"id": 1
},
{
"name": "Task3",
"id": 3
},
{
"name": "Task4",
"id": 4
}
],
"id": 2
等等……
【问题讨论】:
标签: c# linq json serialization json.net