我需要将.net对象转换为以下格式:

   {
        "http://www.example.com/extension/powered-by": {
            "name": "Tin Can Engine",
            "homePage": "../lrs-lms/lrs-for-lmss-home/",
            "version": "2012.1.0.5039b"
        }
    }


如何使用JsonConvert.SerializeObject和匿名对象轻松地做到这一点?

最佳答案

您不能使用匿名对象,因为您不能使用该格式命名的属性。

但是,您可以使用Dictionary<string, object>

Dictionary<string, object> root = new Dictionary<string, object>();
root.Add("http://www.example.com/extension/powered-by", new
{
    name = "Tin Can Engine",
    homePage = "../lrs-lms/lrs-for-lmss-home/",
    version = "2012.1.0.5039b"
});
string json = JsonConvert.SerializeObject(root);

09-28 00:43