一种C#数据结构,用于保存具有不同于“键”和“值”的标识符的键值对 - c#

我有一个保存在List<KeyValuePair<string, double>>中的书籍和价格列表,我想在REST调用中发送此列表,将其转换为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"}

我知道keyvalue是readOnly。有什么方法可以编辑列表,也可以通过其他数据结构来编辑列表

参考方案

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

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

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

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

如何在Wiremock中为JUNIT匹配精确的json - java

我正在使用Wiremock在Spring启动应用程序中模拟Junit的REST服务。我的问题是,我无法匹配多个匹配模式。 Junit.javaStringValuePattern pattern = WireMock.matching(".*"); givenThat(post(urlEqualTo("/softwares�…

jQuery DataTable TableTool在IE和Firefox中不起作用 - c#

我在MVC4 ASP.NET Web应用程序中使用Jquery DataTable TableTool。导出到Excel和PDF可以与Chrome完美配合。但是不能在IE和FireFox中使用。我的代码如下 dom: 'T<"clear">lfrtip', tableTools: { "sSwfP…

如何通过Ajax将数据发送到不同的元素? - php

script.js $(document).on("click", ".send", function (event) { $.ajax({ url: "update.php", data: { id: id, }, type: "POST", success: function…