首页 > 解决方案 > AC# 数据结构,用于保存具有不同于“key”和“value”的标识符的 KeyValue 对

问题描述

我有一个保存在 a 中的书籍和价格列表List<KeyValuePair<string, double>>,我想在 REST 调用中发送这个列表,我将它转换为 a JObject,然后将它作为我的调用正文发送。它到达看起来像这样的 REST 界面:

{"key":BookSample1,"value":"17.99"},
{"key":BookSample2,"value":"21.99"},
{"key":BookSample3,"value":"45.49"}

我的问题是界面期待这样的事情:

{"Title":BookSample1,"newPrice":"17.99"},
{"Title":BookSample2,"newPrice":"21.99"},
{"Title":BookSample3,"newPrice":"45.49"}

我知道keyandvalue是只读的。有什么方法可以让我以这种方式编辑列表,或者使用不同的数据结构让我这样做

标签: c#restdata-structures

解决方案


将 KeyValuePairs 的原始列表转换为新的匿名对象列表:

theList.Select(kvp => new { Title = kvp.Key, NewPrice = kvp.Value }).ToList();

序列化此对象将为您提供正确的变量名称。


推荐阅读