在C#脚本中使用JSON.NET库



我有一个程序,该程序将.cs脚本文件作为输入。我想从脚本中的JSON文件中阅读,并且我正在尝试使用JSON.NET库来完成。但是,我无法正确地引用DLL文件以使用内部的功能。我不是使用Visual Studio编写脚本,因此我无法使用常规方法添加参考。

我的代码:

//css_reference Newtonsoft.Json.dll;
using Newtonsoft;
using Newtonsoft.Json;
using Newtonsoft.Json.JsonConvert;
public class Script
{
    public async void Action(String path)
    {
        StreamReader re = new StreamReader("job.json");
        JsonTextReader reader = new JsonTextReader(re);
        JsonSerializer se = new JsonSerializer();
        object parsedData = se.Deserialize(reader);

与newtonsoft库,.dll文件,.pdb文件和.json文件相关联的三个文件,所有三个文件都将与脚本文件放置在同一文件夹中。

错误:

namepace newtonsoft在...

中找不到

名称空间newteonsoft.json在...

中找不到

如果我删除了三个using语句,我会找到streamReader,jsontextreaader和jsonserializer的名称空间。

我希望就这个问题提供帮助。谢谢!

对我来说,解决方案是在文件顶部使用css_nuget,如这样:

//css_nuget Newtonsoft.Json;
using Newtonsoft;
using Newtonsoft.Json;

从您发布的内容中,看起来您已经手动安装了JSON.NET,我建议您通过Nuget安装它,这样您的项目应该在安装过程中对DLL集的参考过程。我在.NET Framework和.NET Core Projects中使用了JSON.NET很多时间,这就是我一直安装它并且从未遇到问题的方式。

从脚本中,您需要加载json.net的汇编,使用system.reflection.sembly.load()。然后,您应该能够使用反射来创建JSON.NET类的实例并在其上调用方法。如果将其与动态运行时结合在一起,则应该能够实例化对象并与它们合作。

相关内容

  • 没有找到相关文章

最新更新