gpt4 book ai didi

c# - 从 img lib 制作一个 JSON 文件

转载 作者:行者123 更新时间:2023-11-30 16:45:41 25 4
gpt4 key购买 nike

我正在尝试制作一个可以在我的 angularjs 项目中使用的 .JSON 文件。我希望后端自动将站点更新为 img 文件夹中的内容。

我所做的是:

首先我搜索文件夹中的所有项目:

    public static String[] GetFilesFrom(String searchFolder, String[] filters, bool isRecursive)
{
List<String> filesFound = new List<String>();
var searchOption = isRecursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
foreach (var filter in filters)
{
filesFound.AddRange(Directory.GetFiles(searchFolder, String.Format("*.{0}", filter), searchOption));
}
return filesFound.ToArray();
}

保存到数组中:

String searchFolder = @"images\galleri";
var filters = new String[] { "jpg", "jpeg", "png", "gif", "tiff", "bmp" };
files = GetFilesFrom(searchFolder, filters, false);

尝试将其写入 JSON

       var _data = new Dictionary<string, string> {};

for (int i = 0; i < files.Length; i++)
{
_data = new Dictionary<string, string>
{
{ "img", files[i] }
};
}
string json = JsonConvert.SerializeObject(_data.ToArray());
System.IO.File.AppendAllText(@"\js\json.json", json);

这给了我输出:

[
{
"Key":"img",
"Value":"images\\galleri\\placeholder.png"
}
]

数组“files”确实包含不止一张图片,“files”中的所有路径都是正确的。为什么它只显示数组中的最后一项?我知道“for”语句是错误的,我如何添加到字典而不重写使用相同键保存的 previus 和我如何让它以 JSON 格式显示所有内容:

[
{
"img": "images\\galleri\\placeholder.png"
},
{
"img": "images\\galleri\\img1.png"
},
{
"img": "images\\galleri\\img2.png"
}
]

最佳答案

创建一个你将序列化的类图像

public class Image
{
[JsonProperty("img")]
public string ImagePath {get; set;}
}

你的 for 循环看起来像这样:

List<Image> images = new List<Image>();
for (int i = 0; i < files.Length; i++)
{
Image img = new Image() {ImagePath = files[i]};
images.Add(img);
}

string json = JsonConvert.SerializeObject(images);

关于c# - 从 img lib 制作一个 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41691843/

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