我正在尝试将JSON格式的字符串转换为字典,请参阅下文:
using namespace System::Web::Script::Serialization;
...
String ^data = "{Name: 'sherlock', Problem: 'deserialization'}";
JavaScriptSerializer ^serializer = gcnew JavaScriptSerializer();
Dictionary<String^, Object^> obj = serializer->Deserialize<Dictionary<String^, Object^>>(data);
我收到了错误,
class "System::Collections::Generic::Dictionary<System::String ^, System::Object ^>" has no suitable copy constructor
我是来自c#的c ++ / cli的新手。我想我理解复制构造函数是什么,但我不确定为什么在这种情况下需要一个,或者如何解决这个错误..
由于
答案 0 :(得分:4)
您忘记了词典引用本身的^
。
变化:
Dictionary<String^, Object^> obj =
serializer->Deserialize<Dictionary<String^, Object^>>(data);
为:
Dictionary<String^, Object^>^ obj =
serializer->Deserialize<Dictionary<String^, Object^>^>(data);
请注意^
之前和obj
之前的第3 (data)
条。