gpt4 book ai didi

c# - 将 JSON 对象反序列化为数组

转载 作者:行者123 更新时间:2023-11-30 19:09:38 27 4
gpt4 key购买 nike

我们有一个 JSON 结构,我们将一组键值对从服务器发送到客户端。为了简洁和整洁,我们像这样发送数据:

"identification": {
"lineItem/latestDate": "2013-04-28",
"lineItem/destination": "test",
"lineItem/quantity": "55"
}

而不是这个:

"identification": [
{
"value": "test",
"type": "lineItem/destination"
},
{
"value": "2014-07-25",
"type": "lineItem/latestDate"
},
{
"value": "55",
"type": "lineItem/quantity"
}
]

问题是我们的下游客户端(他们正在使用 C# 处理 JSON)说他们无法处理第一种格式,因为内置的 json.net 功能不支持它,而且他们不知道另一个可以做到的.

是否可以使用 C# 中内置的 JSON 反序列化来反序列化第一种格式?或者有人知道另一个可以解决这个问题的图书馆吗?我看过这个question对我来说,这看起来是可能的。

最佳答案

在这里,我找到了另一种方法,好消息是我们不必更改键名。

在客户端创建一个类:

public class RootObject
{
public Dictionary<string,string> identification { get; set; }
}

现在,反序列化它:

        string data = @"[
{
""identification"": {
""lineItem_latestDate"": ""2013-04-28"",
""lineItem_destination"": ""test"",
""lineItem_quantity"": ""55""
}
},
{
""identification"": {
""lineItem_latestDate"": ""2013-04-28"",
""lineItem_destination"": ""test"",
""lineItem_quantity"": ""55""
}
},
{
""identification"": {
""lineItem_latestDate"": ""2013-04-28"",
""lineItem_destination"": ""test"",
""lineItem_quantity"": ""55""
}
}]";

List<RootObject> ob = JsonConvert.DeserializeObject<List<RootObject>>(data);

宾果游戏,我们又成功了。

1) 现在,ob 对象具有所需的值。

2) 使用值数组。

3) 也支持迭代。

关于c# - 将 JSON 对象反序列化为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24405868/

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