当前位置: 首页 > 编程语言 > C#

如何以编程方式从动态JObject共享获取属性

时间:2023-04-10 22:30:49 C#

如何以编程方式从动态JObject获取属性我正在使用NewtonSoftJObject来解析JSON字符串。如何以编程方式从动态对象中获取值?我想简化代码,而不是为每个对象重复自己。publicExampleObjectGetExampleObject(stringjsonString){ExampleObjectreturnObject=newExampleObject();动态dynamicResult=JObject.Parse(jsonString);if(!ReferenceEquals(dynamicResult.album,null)){//如果可能,要提取到另一个方法的代码块returnObject.Id=dynamicResult.album.id;returnObject.Name=dynamicResult.album.name;returnObject.Description=dynamicResult.albumsdescription;//etc..}elseif(!ReferenceEquals(dynamicResult.photo,null)){//此处重复returnObject.Id=dynamicResult.photo.id;returnObject.Name=dynamicResult.photo.name;returnObject.Description=dynamicResult.photo.description;//等等..}elseif..//等等..returnreturnObject;}有没有什么方法可以将“if”语句中的代码块提取到单独的方法,例如:privatevoidExampleObjectGetExampleObject([stringofdesiredtypegoeshere?album/photo/etc]){);returnObject.Id=dynamicResult.[这里有东西吗?].id;returnObject.Name=dynamicResult.[这里有东西吗?].name;//等..返回returnObject;有没有可能因为我们不能对动态对象使用反射或者我什至正确使用了JObject?谢谢。假设您使用的是Newtonsoft.Json.Linq.JObject,则不需要使用动态。JObject类可以使用字符串索引器,就像字典一样:JObjectmyResult=GetMyResult();returnObject.Id=myResult["此处为字符串"]["id"];希望这可以帮助!dynamic关键字的使用方法如下:以上是C#学习教程:如何以编程方式从动态JObject中获取属性共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——varx=JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: