c# - 在 C# 中带有 expando 对象的字段'params'
问题描述
我在 C# 中有以下内容:
dynamic JsonObject = new ExpandoObject();
JsonObject.action = Action;
JsonObject.arguments = JsonArguments;
JsonObject.id = Id;
JsonObject.sig = Signature;
var Json = JsonConvert.SerializeObject(JsonObject);
我需要改变:
JsonObject.arguments = JsonArguments;
进入:
JsonObject.params = JsonArguments;
但我不能将params用作带有 expando 对象的字段名。
构建该json的好方法是什么?
它与 deribit.com 一起使用。他们发布了 API V2 并更改了一些名称,但我想没有考虑过这种情况。
解决方案
您可以将 expando 转换为字典或直接使用字典,例如:
var jsonObject = new ExpandoObject() as IDictionary<string, Object>;
jsonObject.Add("action", Action);
jsonObject.Add("params", JsonArguments);
jsonObject.Add("id", Id);
jsonObject.Add("sig", Signature);
var json = JsonConvert.SerializeObject(JsonObject);
推荐阅读
- json - 如果 JSON 输出中的数组内有 anr 数组,如何迭代 json 数据
- asp.net-core - .Net Core 无法在 cookie 过期后发布到注销页面
- c++ - 这个 C++ 代码发生了什么?为什么sua = 20?
- mysql - 三个表的join和group_concat
- javascript - 单选项卡多内容引导程序 4
- mariadb - Galera Cluster:每晚 5:30 神秘不同步
- 3d - Vulkan 或金属或任何这些图形“API”到底是什么?
- entity-framework - 实体核心插入添加重复行
- python - 直方图的全局和局部最大值
- jetty - 为在反向代理后面运行的 ActiveMQ Web 控制台配置基本 URL