首页 文章

关于Xamarin的Newtonsoft.Json - 意外的成员类型

提问于
浏览
0

当我最近将Xamarin Forms项目中的Newtonsoft.Json包升级到v8.0.1时,我开始看到一个奇怪的异常 . 当我尝试反序列化对象时,我在三个不同的项目中看到了同样的问题 . 每次调用反序列化都不会发生这种情况,但它与特定调用一致 .

这些都是代码没有改变的项目,我不相信JSON已经改变,所以这对我来说就像Newtonsoft或Xamarin的问题一样?

还有其他人看到这个问题吗?

Exception Details:

  • 来源:Newtonsoft.Json

  • 消息:意外的成员类型 .

  • StackTrace:

Newtonsoft.Json.Utilities.TypeExtensions.TestAccessibility(System.Reflection.MemberInfo member,BindingFlags bindingFlags)[0x0003f] in:0 at Newtonsoft.Json.Utilities.TypeExtensions <> c__DisplayClass34_0.b__0(System.Reflection.MemberInfo m)[0x00013 ] in:0在System.Linq.Enumerable WhereListIterator1 [TSource] .MoveNext()[0x00048] in /Users/builder/data/lanes/2377/73229919/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework在/ Users / builder中的System.Linq.Buffer1 [TElement] .. ctor(IEnumerable1 source)[0x00083]中的/Versions/git/src/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:232 /data/lanes/2377/73229919/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:2570在System.Linq.Enumerable.ToArray [TSource](IEnumerable1 source)[0x00011] /Users/builder/data/lanes/2377/73229919/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/混帐/ src目录/月no / external / referencesource / System.Core / System / Linq / Enumerable.cs:830 at Newtonsoft.Json.Utilities.TypeExtensions.GetMember(System.Type type,System.String member,BindingFlags bindingFlags)[0x00030] in:0 at Newtonsoft.Json.Utilities.TypeExtensions.GetMember(System.Type类型,System.String名称,MemberTypes memberType,BindingFlags bindingFlags)[0x0000d] in:0 at Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberInfoFromType(System.Type targetType,System . Reflection.MemberInfo memberInfo)[0x00066] in:0 at Newtonsoft.Json.Serialization.JsonTypeReflector.GetAttribute [T](System.Reflection.MemberInfo memberInfo)[0x0005f] in:0 at Newtonsoft.Json.Serialization.JsonTypeReflector.GetAttribute [T ](System.Object提供程序)[0x0001b] in:0 in Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(System.Type objectType)[0x000cf] in:0 at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(System.Type type ,MemberSerialization memberSerializat离子)[0x00000] in:0 at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(System.Type objectType)[0x00035] in:0 at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(System.Type objectType)[0x000c9] in :0:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type type)[0x00038] in:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.GetContractSafe(System.Type type)[0x00005] in:0 at Newtonsoft.Json .Serialization.JsonSerializerInternalReader.PopulateList(IList list,Newtonsoft.Json.JsonReader reader,Newtonsoft.Json.Serialization.JsonArrayContract contract,Newtonsoft.Json.Serialization.JsonProperty containerProperty,System.String id)[0x00052] in:0 at Newtonsoft.Json .Serialization.JsonSerializerInternalReader.CreateList(Newtonsoft.Json.JsonReader reader,System.Type objectType,Newtonsoft.Json.Serialization.JsonContract contract,Newtonsoft.Json.Serialization.JsonProperty member,System.Objec t existingValue,System.String id)[0x000dc] in:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader,System.Type objectType,Newtonsoft.Json.Serialization.JsonContract contract,Newtonsoft.Json . Serialization.JsonProperty成员,Newtonsoft.Json.Serialization.JsonContainerContract containerContract,Newtonsoft.Json.Serialization.JsonProperty containerMember,System.Object existingValue)[0x0007f] in:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(Newtonsoft.Json.Serialization .JsonProperty属性,Newtonsoft.Json.JsonConverter propertyConverter,Newtonsoft.Json.Serialization.JsonContainerContract containerContract,Newtonsoft.Json.Serialization.JsonProperty containerProperty,Newtonsoft.Json.JsonReader reader,System.Object target)[0x00061] in:0 at Newtonsoft . Json.Serialization.JsonSerializerInternalReader.PopulateObject(System.Object newObject,Newtonsoft.Json.JsonReader reader,N ewtonsoft.Json.Serialization.JsonObjectContract Contract ,Newtonsoft.Json.Serialization.JsonProperty成员,System.String id)[0x00220] in:0

1 回答

相关问题