如何从使用Visual Studio的Web Essentials创建的类中获取JSON

rjee0c15  于 2023-05-29  发布在  其他
关注(0)|答案(1)|浏览(114)

正如在this other question中提到的,我正在使用C#和JSON设置我的第一步。
我正在开发一个小应用程序,它可以从数据库中读取信息并将其写入JSON文件。为了做到这一点,我想到创建类,因为它们是在JSON文件中定义的。为此,我使用了Web Essentials,它做得很好:类被完全生成。我在上一个问题中已经提到了这一点。
现在,我正在考虑使用这些类来写回JSON文件,所以我遇到了这样的情况:

JSON file1 : used as an input in order to create the class diagram.
DB         : contains some information I need to add to the JSON file.
JSON file2 : used as an output, based on "JSON file1", and having the 
             extra information, retrieved from the DB.

很明显,我很天真地这样做了:

root.ToString(); // hoping that this would generate the JSON output.

但是,我似乎只能从该方法中获得一些基本信息(名称空间和类名,没有内容)。
使用intellisense,我没有看到任何生成JSON输出的方法,但在我的代码中有一个希望的天赋(由Web Essentials生成的),如您所见:

public class Rootobject
    {
        public Project project { get; set; }
    }

    public class Project
    {
        public string commonDESCRIPTION { get; set; }
        ...
        public Location[] locations { get; set; }

正如你所看到的,RootobjectProject都没有从任何东西继承(它们也没有实现接口),我简直不敢相信没有任何类涵盖这种行为。所以,我想知道我需要从哪个类继承来解决这个问题。
然而,我不认为这可能是那么容易,也许需要做一些Web Essentials配置编辑来涵盖这一点,但我不知道如何修改Visual Studio扩展配置。

编辑

有关我的Web Essentials安装的更多信息:在我的Visual Studio 2017 Enterprise平台上安装Web Essentials后,我可以在编辑菜单中看到选择性粘贴,粘贴JSON作为类,但我在菜单工具栏中看不到Web Essentials(只有文件,编辑,...),在工具,选项中我也看不到任何Web Essentials引用。
有人能帮我吗
先谢谢你了

mxg2im7a

mxg2im7a1#

显然(正如Ruan所提到的),Web Essentials可以将JSON文件转换为类模型,但在另一个方向上,必须遵循另一种方式。
方法,这是提到(NewtonSoft),是一个非常好的:

  • 添加“NewtonSoft”作为参考(我使用NuGet包管理器完成的)。
  • 在源代码的开头,添加using Newtonsoft.Json;
  • 转换为JSON很简单:string result = JsonConvert.SerializeObject(root);

相关问题