每10条记录后如何在JSON值中插入新行?

时间:2019-04-04 10:53:49

标签: c# json json.net

我想以矩阵形式创建一个JSON值,如下所示。每10条记录我要换一行。

{
"defaults": [
          -850,-850,-850,-850,-850,-850,-850,-850,-850,-850,
          -850,-850,-500,-780,-780,-780,-780,-780,-780,-780,
          -70,-70,-60,-50
        ]
}

下面给出了我为JSON创建的模型类。由于值可以是任何数据类型,例如booleandoublestring,因此我将List<object>用作数据类型。

public class Parameter
{
    public List<object> defaults { get; set; }
}

我已将值存储在数据库中作为一条记录。因此,在获取数据时,我需要将其拆分并存储在数组中。

string[] splitDefault = { (value shown in JSON) };

我已经编写了以下给定代码以为对象分配值:

Parameter para = new Parameter();
para.defaults = new List<object>();

foreach (string item in splitDefault)
{
 if (paraDataType == "bool")
 {
    bool defaultValue = false;
    bool.TryParse(item, out defaultValue);
    para.defaults.Add(defaultValue);
 }
 else if (paraDataType == 9)
 {
    double defaultValue = 0;
    double.TryParse(item, out defaultValue);
    para.defaults.Add(defaultValue);
 }
}

我得到的JSON值是这样的:

{
    "defaults": [ 0, 350, 550, 800, 850, 1000, 1050, 1150, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900 ]
}

1 个答案:

答案 0 :(得分:0)

这有点hacky,但是您可以创建一个自定义JsonConverter,该自定义https://dotnetfiddle.net/aBwAED会写出列表值,同时以所需的时间间隔切换data = pd.concat([data, data_new], axis=1) 的{​​{1}}参数:

Formatting

然后像这样使用它:

JsonWriter

正在运行的演示:{{3}}