gpt4 book ai didi

c# - 如何读取json文件并在自定义类中序列化?

转载 作者:行者123 更新时间:2023-11-30 17:56:58 26 4
gpt4 key购买 nike

我在 menu.json 文件中保存了以下 JSON:

       {
"menu": {
"menuitems": [
{
"label": "Account",
"listview": "Account List"
},
{
"label": "Documents",
"listview": "Document List"
}
]
}
}

我已将此数据手动写入文件。我使用以下函数检索此数据:

        public ActionResult GetFromFile(string path)// path points to the menu.json file
{
StreamReader sr = new StreamReader(path);
string filedata = sr.ReadToEnd();
Menu menu = JsonSerializer.DeserializeToString<Menu>(filedata);
return Json(menu, JsonRequestBehavior.Allowget);

}

当我收到作为 menu 的响应时,我无法在类字段中将其分开。此外,我只有一个类,那么如何将我的 json 文件数据存储到这个类中?类(class)结构会有什么修改吗?我的菜单类如下:

    public class Menu

{
public string Label {get;set;}
public string Listview {get;set;}
}

最佳答案

序列化在菜单上方有一个额外的未命名容器。您的类结构需要如下所示:

public class container
{
public menu menu { get; set; }
}

public class menu
{
public menuitem[] menuitems { get; set; }
}

public class menuitem
{
public string Label { get; set; }
public string Listview { get; set; }
}

要反序列化,您可以使用:

JavaScriptSerializer js = new JavaScriptSerializer();
StreamReader sr = new StreamReader("menu.json");
string filedata = sr.ReadToEnd();
var menus = js.Deserialize<container>(filedata);

关于c# - 如何读取json文件并在自定义类中序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609676/

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