我有一个Windows Forms .NET应用程序,我正在使用Newtonsoft JSON.NET库将JSON格式的文本写入文本文件。我想写两组括号来表示points
是一个列表列表,即使它只包含一个列表(如下所示)。
{
"rallyPoints:" {
"points": [
[
0.0,
1.0,
2.0
]
]
}
}
下面是我的代码:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.IO;
void exampleFunction()
{
string filePath = @"path/to/file.json";
List<List<double>> rallyPoints = new List<List<double>>();
List<double> singleRallyPoint = new List<double>
{
0.0, 1.0, 2.0
};
rallyPoints.Add(singleRallyPoint);
JObject mainObject = new JObject(
new JProperty("rallyPoints", new JObject(
new JProperty("points", rallyPoints)
))
);
using (StreamWriter file = File.CreateText(filePath))
using (JsonTextWriter writer = new JsonTextWriter(file))
{
writer.Formatting = Formatting.Indented;
mainObject.WriteTo(writer);
}
}
我的代码如下所示写入文本文件。请注意,points
字段只有一组方括号,而不是两组,因此不清楚这是一个列表的列表。
{
"rallyPoints:" {
"points": [
0.0,
1.0,
2.0
]
}
}
我不确定我正在尝试完成的是一个正确的JSON格式。也许是这样的情况,JSON的列表列表只包含一个列表作为一个元素被格式化为一个列表。我还没有能够在网上验证到目前为止。即使我正在尝试的不是正确的JSON,我仍然想知道是否有一个解决方案。谢谢。
2条答案
按热度按时间wfveoks01#
将
List<List<double>>
转换为JArray
应该可以解决这个问题。brgchamk2#
最简单的方法是使用匿名类型