JsonConvert::反序列化对象错误c++;cli

JsonConvert::反序列化对象错误c++;cli,json,json.net,c++-cli,Json,Json.net,C++ Cli,我试图打开一个文件,而.json已经将它发送到一个类。 但我做的时候会出错 ref class CutAnnotationJSon { public: int index; String^ nomeTipo; double pontoX1; double pontoY1; double pontoX2; double pontoY2; double height; int r; int g; int

我试图打开一个文件,而.json已经将它发送到一个类。 但我做的时候会出错

ref class CutAnnotationJSon
{

public:

    int index;

    String^ nomeTipo;

    double pontoX1;
    double pontoY1;

    double pontoX2;
    double pontoY2;


    double height;


    int r;
    int g;
    int b;


    int numberCut;

};

ref class PanoramicAnnotationJSon
{

public:

    int index;

    String^ nomeTipo;

    double pontoX1;
    double pontoY1;

    double pontoX2;
    double pontoY2;

    int r;
    int g;
    int b;

};

ref class DadosJSon
{

public:

    List<PanoramicAnnotationJSon^>^ panoramicAnnotation = gcnew List<PanoramicAnnotationJSon^>;

    List<CutAnnotationJSon^>^ cutAnnotation = gcnew List<CutAnnotationJSon^>;

};
ref类CutAnnotationJSon
{
公众:
整数指数;
字符串^nomeTipo;
双桥蛋白1;
双桥1;
双桥氧酶2;
双桥2;
双高;
INTR;
int g;
int b;
整数;
};
参考类PanoramicAnnotationJSon
{
公众:
整数指数;
字符串^nomeTipo;
双桥蛋白1;
双桥1;
双桥氧酶2;
双桥2;
INTR;
int g;
int b;
};
ref类DadosJSon
{
公众:
列表^PANORAMICANNOTION=gcnew列表;
列表^cutAnnotation=gcnew列表;
};
使用

DadosJSon^DadosJSon=JsonConvert::反序列化对象(文件::ReadAllText(“c:/movie.json”);
错误消息:

103 IntelliSense:重载函数“Newtonsoft::Json::JsonConvert::DeserializeObject”的多个实例与参数列表匹配:
函数模板“T Newtonsoft::Json::JsonConvert::反序列化对象(系统::字符串^value)”
函数模板“T Newtonsoft::Json::JsonConvert::反序列化对象(系统::字符串^value,…cli::数组^converts)”
参数类型为:(系统::字符串^)

我使用的是
Newtonsoft::Json::

我无法重现该问题。但是,您可以通过以下方式显式选择重载(根据您的需要):

DadosJSon^DadosJSon=JsonConvert::反序列化对象(文件::ReadAllText(“c:/movie.json”),(JsonSerializerSettings^)nullptr);

为设置传递
nullptr
值相当于
JsonConvert::DeserializeObject(File::ReadAllText(“c:/movie.json”)

我试图重现您的问题,但无法-您的代码编译成功。您能否使用namespace
语句给出包含所有
的完整示例?另外,您使用的Json.NET版本是什么?什么版本的VisualStudio?
DadosJSon^ dadosJSon = JsonConvert::DeserializeObject<DadosJSon^>(File::ReadAllText("c:/movie.json"));
103  IntelliSense: more than one instance of overloaded function "Newtonsoft::Json::JsonConvert::DeserializeObject" matches the argument list:
        function template "T Newtonsoft::Json::JsonConvert::DeserializeObject<T>(System::String ^value)"
        function template "T Newtonsoft::Json::JsonConvert::DeserializeObject<T>(System::String ^value, ... cli::array<Newtonsoft::Json::JsonConverter ^, 1> ^converters)"
        argument types are: (System::String ^)  
DadosJSon^ dadosJSon = JsonConvert::DeserializeObject<DadosJSon^>(File::ReadAllText("c:/movie.json"), (JsonSerializerSettings ^)nullptr);