gpt4 book ai didi

c# - JsonConvert 无法使用括号正确序列化

转载 作者:行者123 更新时间:2023-12-04 09:32:09 30 4
gpt4 key购买 nike

我正在尝试将两个字段和一个包含两个字段的捆绑对象发布到 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 定义上面的对象,然后将它们调用到我的函数中?

最佳答案

你应该这样写

var productData = new { id, title, variants = new[] {new { id, title }} };
Console.WriteLine(JsonConvert.SerializeObject(productData));

//Prints:
{"id":1,"title":"sodijf","variants":[{"id":1,"title":"sodijf"}]}
您可以使用 dynamicobject作为列表的类型也是如此。
var productData = new { id, title, variants = new List<object>() {new { id, title }} };

关于c# - JsonConvert 无法使用括号正确序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62785585/

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