【发布时间】:2020-10-28 07:41:31
【问题描述】:
我正在尝试将两个字段和一个包含两个字段的捆绑对象发布到 Mailchimp 的 API 端点。
var store_id = ConfigurationManager.AppSettings["MailChimpStoreID"];
var method = String.Format("ecommerce/stores/{0}/products?", store_id);
var id = "id123";
var title = "testproduct";
//var variants = new {id, title };
var productData = new { id, title, variants = new { id, title } };
var requestJson = JsonConvert.SerializeObject(productData);
当我发布我的数据并围绕我的代码执行 try-catch 以检查时,我看到我的 requestJson 返回以下内容:
{
"id":"id123",
"title":"testproduct",
"variants":{"id":"id123","title":"testproduct"}
}
我知道问题是变体在序列化时没有返回为"variants":[{"foo":bar"}],但我该如何解决它以便我的代码将它正确地捆绑为一个对象?
第二个理论:既然C#是一个强类型的面向对象程序,我是否需要用get:sets定义上面的对象,然后将它们调用到我的函数中?
【问题讨论】:
-
如果您期望 [ ],请列出
-
你希望它是
"variants":[{"foo":bar"}]吗?如果是这样,请执行var productData = new { id, title, variants = new [] { new { id, title } } };之类的操作。括号代表一个集合(/array)。要获得它们,您需要一个集合或一个对象数组(这是new [] { }为您提供的。
标签: c# json jsonconvert mailchimp-api-v3