gpt4 book ai didi

c# - 在 C# 中返回对象的 JSON 数组

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:27 24 4
gpt4 key购买 nike

这些是我拥有的类,它们代表了我希望向最终用户显示数据的方式:

    namespace PHCTimeSeriesInsights.API.Models
{
public class ProductTimeSeries
{
public List<DeviceTimeSeries> DeviceTimeSeries { get; set; }
public string DeviceId { get; set; }
}

public class DeviceTimeSeries
{
public DateTime TimeStamp { get; set; }
public Double MeasuredValue { get; set; }
public string DateField { get; set; }


}
}

我想要以下格式的输出:这里的字符串 8787887 是一个设备的实际值;

{
"8787887":[
{
"prop":"val",
"prop":"val"
},
{
"prop":"val1",
"prop":"val2"
}
]
}

我有这个片段代表我所做的,但它没有给我一个最佳格式:

List<ProductTimeSeries> prd = new List<ProductTimeSeries>();
prd.Add(new ProductTimeSeries
{
DeviceId = getTelemetry.PropertyName,
DeviceTimeSeries = deviceIdTimeSeries
});

这是我得到的结果:

[
{
"deviceTimeSeries": [
{
"timeStamp": "2019-07-19T17:44:55.856Z",
"measuredValue": 6.98,
"dateField": "7/19/2019"
},
{
"timeStamp": "2019-07-19T17:45:58.697Z",
"measuredValue": 7.04,
"dateField": "7/19/2019"
}
],
"deviceId": "deviceId"
}
]

我必须按照我想要的方式对格式进行哪些更改?

最佳答案

在 C# 中,您不希望使用类,而是希望实际使用字典。在你的情况下,它应该通过使用 Dictionary<string, List<DeviceTimeSeries>> 来工作。 string在哪里是您的“DeviceId”。

请参阅下面的示例。

https://dotnetfiddle.net/luE1Z4

哪个排序运行

Console.WriteLine("Dictionary Test");
var productTimeSeries2 = new Dictionary<string, IList<DeviceTimeSeries>> () {
{
"DeviceId-888",
new List < DeviceTimeSeries > () {
new Program.DeviceTimeSeries() {
TimeStamp = DateTime.Now,
MeasuredValue = 2,
DateField = "7/29/2019"
}
}
}
};
Console.WriteLine(JsonConvert.SerializeObject(productTimeSeries2));

和输出

{  
"DeviceId-888":[
{
"TimeStamp":"2019-07-31T20:45:28.677905+00:00",
"MeasuredValue":2.0,
"DateField":"7/29/2019"
}
]
}

关于c# - 在 C# 中返回对象的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57298464/

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