如何解决无法将反序列化的JSON对象反序列化为\'Raven.Json.Linq.RavenJObject\'类型
| 我已经尝试使用Raven.Client.Lightweight-3.5版本1.0.0.0构建.NET 3.5和4。 运行以下代码,得到上述错误: 有什么想法吗?public class Test
{
public string Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
var store = new DocumentStore { Url = \"http://localhost:8080\" };
store.Initialize();
using (var session = store.OpenSession())
{
var test = new Test
{
Name = \"test\"
};
session.Store(test);
session.SaveChanges();
}
}
}
异常跟踪:
Newtonsoft.Json.JsonSerializationException was unhandled
Message=Cannot deserialize JSON object into type \'Raven.Json.Linq.RavenJObject\'.
Source=Newtonsoft.Json.Net35
StackTrace:
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader,Type objectType,JsonContract contract,JsonProperty member,Object existingValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 417
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader,Object existingValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 223
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueProperty(JsonReader reader,JsonProperty property,Object target,Boolean gottenCurrentValue,Object currentValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 198
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property,JsonReader reader,Object target) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 552
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject,JsonObjectContract contract,String id) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 1005
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateObject(JsonReader reader,String id) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 842
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader,Object existingValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 396
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader,Object existingValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 223
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader,JsonContract contract) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 208
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IWrappedCollection wrappedList,String reference,JsonArrayContract contract) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 717
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.<>c__DisplayClass1.<CreateAndPopulateList>b__0(IList l,Boolean isTemporaryListReference) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 663
at Newtonsoft.Json.Utilities.CollectionUtils.CreateAndPopulateList(Type listType,Action`2 populateList) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Utilities\\CollectionUtils.cs:line 544
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateList(JsonReader reader,JsonArrayContract contract) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 651
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader,Object existingValue,String reference) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 446
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader,Object existingValue) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 225
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader,JsonContract contract) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 208
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader,Type objectType) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\Serialization\\JsonSerializerInternalReader.cs:line 120
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader,Type objectType) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\JsonSerializer.cs:line 421
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader,Type objectType) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\JsonSerializer.cs:line 413
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value,Type type,JsonSerializerSettings settings) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\JsonConvert.cs:line 721
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value,JsonConverter[] converters) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\JsonConvert.cs:line 699
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value,JsonConverter[] converters) in d:\\Development\\Releases\\Json\\Working\\Src\\Newtonsoft.Json\\JsonConvert.cs:line 668
at Raven.Client.Connection.ServerClient.DirectBatch(IEnumerable`1 commandDatas,String operationUrl) in c:\\Builds\\raven\\Raven.Client.Lightweight\\Connection\\ServerClient.cs:line 803
at Raven.Client.Connection.ServerClient.<>c__DisplayClass32.<Batch>b__31(String u) in c:\\Builds\\raven\\Raven.Client.Lightweight\\Connection\\ServerClient.cs:line 778
at Raven.Client.Connection.ServerClient.TryOperation[T](Func`2 operation,String operationUrl,Boolean avoidThrowing,T& result) in c:\\Builds\\raven\\Raven.Client.Lightweight\\Connection\\ServerClient.cs:line 163
at Raven.Client.Connection.ServerClient.ExecuteWithReplication[T](String method,Func`2 operation) in c:\\Builds\\raven\\Raven.Client.Lightweight\\Connection\\ServerClient.cs:line 133
at Raven.Client.Connection.ServerClient.Batch(IEnumerable`1 commandDatas) in c:\\Builds\\raven\\Raven.Client.Lightweight\\Connection\\ServerClient.cs:line 778
at Raven.Client.Document.DocumentSession.SaveChanges() in c:\\Builds\\raven\\Raven.Client.Lightweight\\Document\\DocumentSession.cs:line 344
at RavenHelloWorld.Program.Main(String[] args) in C:\\development\\Samples\\RavenHelloWorld\\RavenHelloWorld\\Program.cs:line 30
at System.AppDomain._nExecuteAssembly(Assembly assembly,String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
解决方法
我曾在同一时间遇到过同样的问题,我认为它与内部版本371中的默认凭据有关。
尝试在服务器配置中将Raven / AnonymousAccess设置为All,看看它是否消失了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。