作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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/
我是一名优秀的程序员,十分优秀!