gpt4 book ai didi

c# - 将对象中的 Json 数组发送到 API

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:02 25 4
gpt4 key购买 nike

我需要将对象中的数组 POST 到 api,如下所示:

{
"ds_seatInfo": [
{
"SEAT_LOC_NO": "00201901",
"SEAT_LOC_NO": "00201902"
}
],
"SCN_SCH_SEQ": "13178",
"REQ_FG_CD": "01",
"LOCK_APRV_KEY": "123123"
}

我尝试使用定义如下的模型:

 public class ds_seatInfo
{
public List<string> SEAT_LOC_NO { get; set; }
}

public class BookParam
{
public string SCN_SCH_SEQ { get; set; }
public ds_seatInfo ds_seatInfo { get; set; }
public string REQ_FG_CD { get; set; }
public string LOCK_APRV_KEY { get; set; }
}

但结果并不如预期,这是模型返回:

"{\"SCN_SCH_SEQ\":\"13178\",\"ds_seatInfo\":{\"SEAT_LOC_NO\":[\"00201901\",\"00201902\"]},\"REQ_FG_CD\":\"01\",\"LOCK_APRV_KEY\":\"123123\"}"

这意味着 SEAT_LOC_NO 没有按预期读取。我正在使用 Newtonsoft 序列化模型。

我该怎么办?

最佳答案

还没有测试过,但这可能会帮助你或让你朝着正确的方向前进:

public class BookParam
{
[JsonProperty("ds_seatInfo")]
public List<KeyValuePair<string, string>> SetInfos = new List<KeyValuePair<string, string>>();

[JsonProperty("SCN_SCH_SEQ")]
public string ScnSchSeq { get; set; }

[JsonProperty("REQ_FG_CD")]
public string ReqFgCd { get; set; }

[JsonProperty("LOCK_APRV_KEY")]
public string LockAprvKey { get; set; }
}

当您将项目添加到 SetInfos 时,请尝试这样做:

SetInfos.Add(new KeyValuePair<string, string>("SEAT_LOC_NO", "00201901"));

编辑

另一种可能的实现方式

public class BookParam
{
[JsonProperty("ds_seatInfo")]
public List<SeatInfo> DsSeatInfo = new List<SeatInfo>();

[JsonProperty("SCN_SCH_SEQ")]
public string ScnSchSeq { get; set; }

[JsonProperty("REQ_FG_CD")]
public string ReqFgCd { get; set; }

[JsonProperty("LOCK_APRV_KEY")]
public string LockAprvKey { get; set; }
}

public class SeatInfo()
{
[JsonProperty("SEAT_LOC_NO")]
public string SeatLocNo { get; set; }
}

关于c# - 将对象中的 Json 数组发送到 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46664539/

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