【发布时间】:2019-12-21 19:29:24
【问题描述】:
我正在用 C# 创建一个对象列表。我想将它们以适当的 JSON 格式保存在 blob 存储容器中。目前我将它们保存在我的本地驱动器上,然后上传到 blob。我面临的两个问题: 1.添加新对象时的Json格式如下:
[
{
"id": "1",
"Name": "Peter",
"Surname": "Pan"
}
]
[
{
"id": "2",
"Name": "Steve",
"Surname": "Pan"
}
]
如何更新我的代码以使它们成为一个包含逗号分隔值的数组?
[
{
"id": "1",
"Name": "Peter",
"Surname": "Pan"
},
{
"id": "2",
"Name": "Steve",
"Surname": "Pan"
}
]
- 有没有一种方法可以在不先将文件保存到本地驱动器上的情况下保存到我的 blob?
List<Obj> list= new List<Obj>();
list.Add(new Obj()
{
Id = "1",
Name = "Peter",
Surname = "Pan"
});
// Serialize to JSON output
var serializer = new JavaScriptSerializer();
var serializedResult = serializer.Serialize(list);
// write string to file locally
System.IO.File.AppendAllText(@"people.json", serializedResult);
//Create or overwrite the "myblob" blob with the contents of a local file
using (var fileStream = System.IO.File.OpenRead(@"people.json"))
{
await blockBlob.UploadFromStreamAsync(fileStream);
}
Json out 的格式错误,创建的新对象是一个新数组,如何上传这个文件而不在我的本地驱动器上保存副本?
【问题讨论】:
-
您使用 Blob 存储而不是 Azure 表是否有原因?我不确定是什么导致您的 JSON 显示为列表列表,但我建议切换到 Json.NET 并查看是否重现。
-
我刚刚切换到 Json.NET 并且得到了相同的输出。我从未使用过 Azure 表,这就是我考虑使用 blob 的原因。
-
Azure 表将允许您存储信息而无需将其转换为 JSON 并通过不同的属性进行查询。让我知道您喜欢哪种方法,我将添加一些演示代码作为答案。
-
看起来不错,我可以试试这些表。我创建对象的方式是否保持不变?
标签: c# json azure azure-blob-storage azure-table-storage