gpt4 book ai didi

c# - 如何将 C# 类属性转换为 Json 文件

转载 作者:行者123 更新时间:2023-11-30 13:12:49 26 4
gpt4 key购买 nike

我正在尝试使用 C# 类及其包含值的属性来创建 jsonObject 和 json 数组。请查看下面的完整代码。

public class Product
{
public Int32 Id { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public String Address { get; set; }
}


protected void Button1_Click(object sender, EventArgs e)
{

Product pr = new Product();
pr.Id = 10;
pr.FirstName = "John";
pr.LastName = "ab";
pr.Address = "My Add1";

string json = JsonConvert.SerializeObject(pr,Formatting.Indented);
System.IO.File.WriteAllText(@"d:\abcjson.json", json);
}

上面的代码给出了下面的输出

{
"Id": 10,
"FirstName": "John",
"LastName": "ab",
"Address": My Add1,
}

但我需要以下输出,后跟 jsonObject 和 jsonArray。请任何指导我如何通过在按钮单击下使用上面的 json 代码来获得以下输出。提前致谢。

{
"Product":[
{
"Id": 10,
"FirstName ":"John",
"lastName":"ab",
"Address":My add1
}
]
}

最佳答案

要做的就是查看您想要的 JSON。它是一个对象,具有 Product 属性,该属性是产品对象的数组。

所以最简单的方法是创建一个类模型:

public class JsonRoot
{
[JsonProperty("Product")]
public List<Product> Products { get; set; }
}

然后你就可以使用:

var root = new JsonRoot { Products = new List<Product> { pr } };
string json = JsonConvert.SerializeObject(root, Formatting.Indented);

您可以改用匿名类型,可能:

var root = new { Product = new[] { pr } };

我个人倾向于喜欢将匿名类型与命名类型混合用于序列化,但它应该可以正常工作...

关于c# - 如何将 C# 类属性转换为 Json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952331/

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